연결리스트 정렬하는 부분에 대해서 질문 드립니다
나봄
일반적인 삽입 정렬인데요..
년 월 일 순으로 입력받아서 날짜에 맞게 정렬해서 출력하는 함수 인데요,
년별로는 정렬이 잘 되는데.. 같은 년 안에 있는 월들이 정렬이 안되네요... 같은 월안에 일들도 정렬이 안되고요..
돌릴때마다 월별 일별 정렬이 다르게 됩니다.
아래 코드에서 어떤 부분이 잘 못된건지 부탁드립니다.
book *sortBook(book_h *L)
{
book *prev, *curr, *next;
book *pemp, *temp;
prev = L-head;
curr = L-head-link;
while(curr !=NULL)
{
next = curr-link;
if(L-head-year curr-year)
{
prev-link = next;
curr-link = L-head;
L-head=curr;
}
else if(L-head-year == curr-year)
{
if(L-head-month curr-month)
{
prev-link = next;
curr-link = L-head;
L-head=curr;
}
else if (L-head-month == curr-month) {
if(L-head-day curr-day)
{
prev-link = next;
curr-link = L-head;
L-head=curr;
}
else {
pemp = L-head;
temp = L-head-link;
while(temp !=curr && temp-day curr-day)
{
pemp = temp;
temp = temp-link;
}
if(temp!=curr)
{
prev-link = next;
pemp-link = curr;
curr-link = temp;
}
else
{
prev = curr;
}
}
}
else
{
pemp = L-head;
temp = L-head-link;
while(temp !=curr && temp-month curr-month)
{
pemp = temp;
temp = temp-link;
}
if(temp!=curr)
{
prev-link = next;
pemp-link = curr;
curr-link = temp;
}
else
{
prev = curr;
}
}
}
else
{
pemp = L-head;
temp = L-head-link;
while(temp !=curr && temp-year curr-year)
{
pemp = temp;
temp = temp-link;
}
if(temp!=curr)
{
prev-link = next;
pemp-link = curr;
curr-link = temp;
}
else
{
prev = curr;
}
}
curr = next;
}
return L-head;
}