标题:链表排序问题
取消只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440317-1-1.html




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

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