| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖
标题:链表排序问题
取消只看楼主 加入收藏
FireRabbit
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
链表排序问题
我想通过修改节点的下一个指向来改变它在链表中的位置,代码如下:

    while(s2!=NULL)
    {
        if((s1->buy_number)>(s2->buy_number))
        {
            s1->next=s2->next;
            s2->next=s1;

        }
        s1=s1->next;
        s2=s2->next;

    }

排序按照buy_number从小到大的顺序进行排列。
然而运行结果似乎进入了一个无限循环?
*出问题的部分已用黑体标注



[ 本帖最后由 FireRabbit 于 2014-12-24 15:24 编辑 ]
2014-12-24 15:15
FireRabbit
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-6
收藏
得分:0 
回复 2楼 蚕头燕尾
s1、s2 is the pointer of the struct

    s1=head;
    s2=head->next;

    while(s2!=NULL)
     {
         if((s1->buy_number)>(s2->buy_number))
         {
            s1->next=s2->next;
             s2->next=s1;
         }
         s1=s1->next;
         s2=s2->next;

     }



[ 本帖最后由 FireRabbit 于 2014-12-24 16:26 编辑 ]

我的愿望是用C++开发自己的游戏引擎。
在此之前还有许多东西要学……
2014-12-24 16:23
快速回复:链表排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011607 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved