| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1923 人关注过本帖, 1 人收藏
标题:单链表
取消只看楼主 加入收藏
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:1 
单链表
这个算法看了半天没看明白机制,谁能解释一下具体实现过程
例如数据:L,8,7,9,3,5,4,2
L为头结点,只有指针域,没有数据域
void Sort(LinkList &L){
    //本算法实现将单链表L的结点重排,使其递增有序
    LNode *p=L->next, *pre;
    LNode *r=p->next;  //r保持*p后继结点指针,以保证不断链
    p->next=NULL;  //构造只含一个数据结点的有序表
    p=r;
    while(p!=NULL){
        r=p->next;  //保存*p的后继结点指针
        pre=L;
        while (pre->next!=NULL && pre->next->data<p->data)
            pre=pre->next;  //在有序表中查找插入的前驱结点*pre
        p->next=pre->next;  //将*p 插入到*pre 之后
        pre->next=p;
        p=r; //扫描原单链表中剩下的结点
    }
}
搜索更多相关主题的帖子: 单链表 结点 指针 next NULL 
2017-08-06 19:32
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:0 
回复 5楼 静水且流深
谢谢,写的非常详细,也很清楚。现在明白点了。
2017-08-07 09:04
快速回复:单链表
数据加载中...
 
   



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

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