24小时热门版块排行榜    

查看: 2700  |  回复: 3

冰雨hust

铁虫 (小有名气)

[求助] 单链表结点从小到大排序的算法

假设带头节点的单链表的头指针用head表示,类型为link,怎样写出所有结点按从小到大的次序排列的算法啊?请教各位大神~~~
我看了个算法是这样写的,:
  void sort(link *head)
{  link *p,*q,*s,*r;
  if(head->next!=NULL&&head->next->next!=NULL)
    {p=head->next->next;
      head->next->next=NULL;
       while(p!=NULL)
          {r=head;
            q=head->next;
            while(q->data<=p->data&&p!=NULL)
                  {r=q;q=q->next;}
                   s=p->next;
                   r->next=p; p->next=q;
                   p=s;
                 }
         }
        return head
}
看了,感觉理解不了,请各位大侠指点

[ Last edited by 冰雨hust on 2013-7-5 at 15:49 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
ben_ladeng: 金币+1, 谢谢指导 2013-07-10 22:10:12
单链表就画图啊,自己画出3个节点的单链表(2个的太简单了),然后一步一步分析程序,什么都明白了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-07-05 16:09:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

冰雨hust

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-07-05 16:09:40
单链表就画图啊,自己画出3个节点的单链表(2个的太简单了),然后一步一步分析程序,什么都明白了

我感觉这个程序写得有问题啊~~
3楼2013-07-07 16:19:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

【答案】应助回帖

为什么不用递归算法,程序简单,易于理解

[ 发自小木虫客户端 ]
不以风骚惊天下,但求淫荡动世人
4楼2013-07-13 16:21:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 冰雨hust 的主题更新
信息提示
请填处理意见