디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C 구조체 정렬 도와주세요.

ㅁㄴㅇㄹ(210.115) 2010.10.25 12:09:23
조회 169 추천 0 댓글 2

#include <stdio.h>
void sort_bubble(struct student *s, struct student *n);
void desc_bubble(struct student *s, struct student *n, struct student *m);

struct student {
 int number;
 char name[10];
 double height;
 struct student *next; // next에 null값이 저장되어있으면 다음 구조체로 넘어감.
};

int main()
{
 struct student s1 = {30,"kim",167.2,NULL};
 struct student s2 = {31,"park",179.1,NULL};
 struct student s3 = {32,"choi",169.5,NULL};
 struct student s4 = {33,"shin",173.3,NULL};
 struct student s5 = {34,"kim",170.6,NULL};
 struct student s6 = {35,"lee",170.4,NULL};
 struct student s7 = {36,"park",182.0,NULL};
 struct student s8 = {37,"yang",177.7,NULL};
 struct student s9 = {38,"kang",176.4,NULL};
 struct student s10 = {39,"lee",178.3,NULL};
 struct student *first = NULL;
 struct student *current = NULL;

 first = &s1;
 s1.next = &s2;
 s2.next = &s3;
 s3.next = &s4;
 s4.next = &s5;
 s5.next = &s6;
 s6.next = &s7;
 s7.next = &s8;
 s8.next = &s9;
 s9.next = &s10;
 s10.next = NULL;
 current = first;

 printf("오름차순\\n");
 sort_bubble(first,first);

 while(current != NULL)
 {
  printf("학생의 번호 = %d, 이름 = %s, 키 = %f\\n", current->number, current->name, current->height);
  current = current->next; // 다음 구조체로 넘어감
 }
}

void sort_bubble(struct student *s, struct student *n)
{
 int k=0;
 double least;
 
 for(; s!=NULL; s = s->next)
 {
  least = s->height;
  for(n = s->next; n!=NULL; n = n->next)
  {
   if(least > n->height)
   {
    least = n->height;
   }
  }
  printf("%f\\n", least);
 }
}


구조체에 입력된 키순서대로 오름차순,내림차순으로 출력하는 함수와 이름순서대로 출력하는 함수를 만들어야하는데 하나만 만들면 나머지는 만들 수 있을 것 같은데 아직 잘 모르겠어요.
구조체가 자바의 arraylist같이 for문으로 무한입력받게 만들면 몇개가 입력되었는지 모르기 때문에 정렬함수 안에서 배열을 선언하고 크기를 정해서 하는것도 말이 안되구요. (그렇다고 for문 돌릴때 n값을 하나씩 증가시켜서 그 값만큼 배열을 만든다. 뭐 이런것도 사실상 하면 안될것같아요. 배열을 사용하지 않고 구조체랑 포인터만 사용해서 정렬하라고 했거든요.)

정렬함수의 for문에서 n을 first부터 비교하면 최소값만 10번 반복되고 s보다 하나 큰값이랑 비교해도 이상하게 나와서요.
temp를 써서 위치를 바꿔버리면 call by value가 아닌 reference라서 저장된 값이 바뀌니까 맨 마지막에 출력(while문)할때 이상하게 나올 테니...
어떻게 해야 할 지 모르겠습니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
220752 질문이 하고싶다. [3] 311123113(115.139) 10.11.28 48 0
220751 맞아. 쉽게 포기하면 안되겠다. [9] BTTTS!갤로그로 이동합니다. 10.11.28 93 0
220750 프겔은 정화가 필요해 [5] 분당살람갤로그로 이동합니다. 10.11.28 64 0
220749 웬만하면 언어 클로져는 Clojure라고 부르는게 낫지 않을까 [2] 녹차맛호두(211.202) 10.11.28 60 0
220748 횽들.c++중수만.. [19] 도움이필요한남갤로그로 이동합니다. 10.11.28 166 0
220747 프로그래머는 법률지식도 알아야된다 ... 임베디드(112.150) 10.11.28 79 0
220746 내일 한번 서버컴에다가 구축해봐야지.. [10] BTTTS!갤로그로 이동합니다. 10.11.28 90 0
220745 펜티엄 3 cpu는 값이 얼마나 하나? [5] BTTTS!갤로그로 이동합니다. 10.11.28 81 0
220744 현재 공유기 및 서버 등 설정 [16] BTTTS!갤로그로 이동합니다. 10.11.28 103 0
220743 [python] 숫자 세주는 기능 함수 없어요? [14] Re갤로그로 이동합니다. 10.11.28 113 0
220741 흔한 공대여자 [2] ㅇㅇㅃ갤로그로 이동합니다. 10.11.28 157 0
220740 작업자 스레드는... return하면 스레드 자체도 없어지나요? [5] 르하소갤로그로 이동합니다. 10.11.28 75 0
220739 으앜 나의 개바르 머신 [1] 뉸깔(210.118) 10.11.28 84 0
220738 힘들게 서버구축했는데 타임아웃... [13] BTTTS!갤로그로 이동합니다. 10.11.28 90 0
220737 22개월 군복무가 군대냐 ... [1] 임베디드(112.150) 10.11.28 98 0
220736 프갤형들은 전쟁나면 어디로대피함? [1] 시즈갤로그로 이동합니다. 10.11.28 77 0
220735 mfc에서 윈도우간 데이터는 뭘루 주고 받음? [20] 르하소갤로그로 이동합니다. 10.11.28 193 0
220733 오 call graph 기능 [2] [성대아싸]갤로그로 이동합니다. 10.11.28 104 0
220732 게임 쪽 종사하는 분 있어요?? [10] (115.41) 10.11.28 181 0
220731 뉴비가 질문드립니다.ㅠㅠ [16] 씹새리갤로그로 이동합니다. 10.11.27 105 0
220729 대학교에서는 원래 c만씀요? [3] (115.41) 10.11.27 98 0
220728 C++은 문자열 입력받는게 왜이렇게 복잡하냐.. [7] Rei@디씨갤로그로 이동합니다. 10.11.27 158 0
220727 터치패널 비슷한 입력기관을 만드려고하는데 감지를 어떻게하면 좋을까 류들(210.91) 10.11.27 39 0
220726 형님들 게임 서버 질문이요 [1] 겨울달갤로그로 이동합니다. 10.11.27 72 0
220724 항공모함 온다고 설레발 치는 애들은 왜 그 생각을 못할까? [10] (121.159) 10.11.27 156 0
220723 VRML 마커 위치.. [1] 황태자갤로그로 이동합니다. 10.11.27 64 0
220722 취업하려면 [2] 홍다(114.199) 10.11.27 114 0
220721 제출기한이 1주일 늘면 뭐해... [2] 로레알갤로그로 이동합니다. 10.11.27 53 0
220715 음... 치킨이 먹고 싶은데... [5] 아주아슬갤로그로 이동합니다. 10.11.27 228 0
220713 형들... 웹플밍언어 PHP/ASP.NET 둘중에 추천좀.. [2] 땡칠이(116.32) 10.11.27 97 0
220710 하드 용량 계산문제좀..사례가능 [4] ㅇㅇ(121.129) 10.11.27 143 0
220709 어디갈까요? [3] 헬로우(114.200) 10.11.27 104 0
220707 오늘 한 5시간 해서 이거 만들었다 HERMES갤로그로 이동합니다. 10.11.27 127 0
220705 형님들 질문좀 [13] 나비이쁜이갤로그로 이동합니다. 10.11.27 121 0
220704 자바 계산기 만드는데 힌트좀 줘 [6] HERMES갤로그로 이동합니다. 10.11.27 179 0
220703 아이패드 샀다. [1] 으어(183.2) 10.11.27 124 0
220702 mre 구할대 없을까? [6] rntjr갤로그로 이동합니다. 10.11.27 153 0
220701 운영체제 만들려면 뭐부터 해야하는겁미까? [9] ㅇㅇ(211.169) 10.11.27 207 0
220699 인터넷이.. 문화를 하향 평준화 시켜주는거 같다. [9] (121.159) 10.11.27 155 0
220698 유리한 지금열강c12강인데 빨리봐용형아 [7] 유리한추종자(120.50) 10.11.27 131 0
220697 삼성 그 cf뭐였냐 redj(218.154) 10.11.27 42 0
220696 키넥트 땡칠도사갤로그로 이동합니다. 10.11.27 183 0
220695 사이트 취약점이 있어서 신고하려는데 [7] 준치◕‿◕갤로그로 이동합니다. 10.11.27 159 0
220694 코드게이트와 같은 해킹대회에서 입상을 하려면 무엇을 공부해야합니까? [2] ㄹㄹ(59.27) 10.11.27 130 0
220692 정보보안전문가가 되려고 하는 예비대학생입니다~ ㄹㄹ(59.27) 10.11.27 70 0
220691 노트북을 구입하였스빈다 [2] 한마음택배갤로그로 이동합니다. 10.11.27 148 0
220688 크롬 with 윈7? [8] 홍다(114.199) 10.11.27 152 0
220687 요세 귀신에 대처하는 감각이 생기는 것같다. 돌아온yoi(124.153) 10.11.27 73 0
220686 CSocket데이터 손실? [2] 르하소갤로그로 이동합니다. 10.11.27 114 0
220685 c언어 질문있습니다. [2] 콩까지마그마갤로그로 이동합니다. 10.11.27 72 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2