标题:求大佬帮帮C语言链表排序的问题
取消只看楼主
起因
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-6-22
结帖率:0
已结贴  问题点数:20 回复次数:0 
求大佬帮帮C语言链表排序的问题
求助一个每个节点带有3个数据的链表怎么进行快速排序
头节点  1,0,0    第二个节点  5,3,1  第三个节点 6,7,8   依次类推
不算头节点  剩余的节点进行从到小的快速排序法
我现在对不同节点之间的数据大小比较不会
void LKSort(Node* Left, Node* Rigth)//Left 是头节点,Right是尾指针
{
    int count = 1;//计数
    int temp;//交换数据
        if (Left != Rigth)
        {
            int Number1 = Left->next->item1;//基准
            Node* p = Left->next;
            Node* q = Left->next->next;
            while (q != Rigth)
            {
                if (q->item1 > Number1)
                {
                    temp = p->item1;
                    p->item1 = q->item1;
                    q->item1 = temp;
                }
                if (q->item2 > Number1)
                {
                    temp = p->item2;
                    p->item2 = q->item2;
                    q->item2 = temp;
                }
                if (q->item3 > Number1)
                {
                    temp = p->item3;
                    p->item3 = q->item3;
                    q->item3 = temp;
                }
                q = q->next;
            }
            LKSort(Left, p);
            LKSort(p->next, Rigth);
        }
}
搜索更多相关主题的帖子: 节点 Node next temp Left 
2022-05-22 17:46



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




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

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