[問題] 以quicksort實現linked list的排序...
遇到的問題: (題意請描述清楚)
若限定函式, 以quicksort對linled list排序
tydefdf struct node{
int data;
struct node *next;
}NODE;
NODE *quicksort(NODE *list)
{
?????
}
希望得到的正確結果:
有試著撰寫, 但就是怪怪的
程式跑出來的錯誤結果:
是有成功的樣子, 但感覺就是怪怪的
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
以下是我所寫的程式碼 :
NODE *quicksort(NODE *list)
{
NODE *left, *right, *last;
POLY_NODE *p;
int i = 0;
if(list == NULL)
return list;
else
{
left = right = list;
last = left;
}
while(right->next != NULL)
right = right->next;
for(p = left->next; p != NULL; p = p->next)
{
if(p->data < left->data)
{
last = last->next;
SWAP(last->data, p->data);
i++;
}
}
SWAP(left->data, last->data);
if(i != 0)
left = NodeQsort(left);
if(last != right)
last = NodeQsort(last->next);
return list;
}
補充說明:
希望能給予指教
或是有夠好的寫法
感謝
--
吳敦義上午在參加警察大學校慶活動,被問到有人認為他失言乙事,他指出,在景氣寒冬
中想到無薪假的構想,不僅連結勞工情感與道義,而且在寒冬過後,勞工也都一一回到工
作崗位。
他說,「大家風趣與幽默要有嘛!」最後還嘆了口氣說「老天啊!」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.166.59
※ 編輯: chizhang 來自: 114.36.166.59 (11/24 19:58)
→
11/24 20:19, , 1F
11/24 20:19, 1F
→
11/24 20:22, , 2F
11/24 20:22, 2F
推
11/24 21:43, , 3F
11/24 21:43, 3F
→
11/24 21:52, , 4F
11/24 21:52, 4F
推
11/25 00:58, , 5F
11/25 00:58, 5F
推
11/25 03:29, , 6F
11/25 03:29, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):