게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
swap을 어떻게 써먹어야 될지 모르겠어요 ㅠ.ㅠ
게시물ID : programmer_3732짧은주소 복사하기
작성자 : 개나소나
추천 : 0
조회수 : 283회
댓글수 : 1개
등록시간 : 2014/06/03 18:47:24
옵션
  • 본인삭제금지
typedef struct days{
 int year, month, day;
 char content[100000];
 struct days *next;
}dates;
dates *sc_head;
dates *sc_tail;
 
 
 
이렇게 구조체를 불러 와 주고.
 
year, month, day content 각각에 연도, 달, 날짜, 일정 을 입력을 받습니다. (여러개도 받지요 링크드리스트를 이용해서요)
 
그리고 나서
 
날짜가 오래된것일수록
ex 1년 1월 3일과 1년 1월 1일의 내용이 입력이 되면 그대로 출력할시 3일->1일 순서로 출력이 되지만 1일->3일 순서로
앞으로 오게 순서를 아예 바꾸고 싶습니다. dates *array 를 불러와서 정렬된 순서대로 array에 집어넣는게 아닌, 마지막으로 데이터가 저장될
sc_head에 정렬된 순서대로 저장내용이 바뀌게끔.
 
하고싶은데 도저히 모르겠어요 ㅠ.ㅠ
 
year month day info를 각각 입력받아서 (info는 %s로 문자열, 나머지는 int형) sc_head에 저장하는 함수는 밑에 있는거구요.
 
void add_sch(int year, int month, int day, char* info)
{
 dates *t;
 dates *s;
 t=(dates*)malloc(sizeof(dates));
 t->year =year;
 t->month = month;
 t->day = day;
 strcpy(t->content,info);
 
 if(sc_head->next == sc_tail)
 {
  sc_head->next = t;
  t->next = sc_tail;
 }
 else
 {
  s=sc_head;
  while(s->next !=sc_tail)
  {
   s=s->next;
  }
  s->next=t;
  t->next = sc_tail;
 }
}
 
저장작업이 완료된 후에 정렬하는 함수를 하나 만들어서 정렬이 되게끔 하고싶은데...
하나하나 차근차근 해보려고 일단 일수부터 적은숫자가 앞으로 오게 정렬을 해보려고 했는데...
 
void line_upday()
{
 
 
 dates *t;
 dates *p;
 dates *s;
 p=sc_head;
 t = sc_head->next;
 if(sc_head->next == sc_tail)
 {  
 }
 else
 {
  for(p = sc_head; p->next != sc_tail ;p=p->next)
  {
   for(t=sc_head->next; t->next != sc_tail ; t=t->next)
   {
    if(p->day > t->day)
    {
     s=p;
     p=t;
     t=s;
     sc_head=p;
     t->next=t;
     sc_head->next=sc_head;
    }
   }  
  }
 }
}
 
이런식으로 함수를 설정해봣더니 이 정렬하는 함수로 넘어와서 프로그램이 더이상 실행이 안되네요;;; 뭔가 안에서 무한for문이 도는거 같기도 하고;;
 
도와주세요 ㅠ.ㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호