单向链表能否用快速排序??如果能如何实现???

fentid 2001-09-02 09:41:05
如题!
谢谢!
...全文
363 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ylredsun 2001-09-05
  • 打赏
  • 举报
回复
gz
fsb_12345 2001-09-03
  • 打赏
  • 举报
回复
只要自己编程,都能实现,没有现成的函数
zhanghaifeng 2001-09-03
  • 打赏
  • 举报
回复
OK
onetwothree 2001-09-03
  • 打赏
  • 举报
回复
补充一点,这里LIST就是指向NODE的指针类型。
onetwothree 2001-09-03
  • 打赏
  • 举报
回复
当然可以。我在杂志上看到过,是SIGPLAN Notices 1997.9,北京大学Qiu Zongyan写的文章(估计就是翻译《程序设计实践》的人,名字读音一样)。里面有下面的C程序,很有意思:

LIST qsortL (LIST h, LIST lnext)
{
NODE n1, n2;
LIST p, t1 = &n1, t2 = &n2;
if (h == NULL) return lnext;
for (p = h->next; p != NULL;
p = p->next)
if (p->key < h->key)
{
t1->next = p;
t1 = p;
}
else
{
t2->next = p;
t2 = p;
}
t1->next = t2->next = NULL;
h->next = qsortL(n2.next, lnext);
return qsortL(n1.next, h);
}

对list1排序,排序结果赋值给list2:

list2 = qsortL(list1, NULL);


70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧