将两个有序链表并为一个有序链表
来源:互联网 发布:开淘宝零食店 编辑:程序博客网 时间:2024/05/28 16:20
按照算法MergeList的思想,需设立3个指针pa,pb,pc,其中pa和pb分别指向La表和Lb表中当前比较插入的结点,而pc指向Lc表中当前最后一个结点,若pa->data<=pb->data,则将pa所指结点链接到pc所指结点之后,否则将pb所指结点链接到pc所指结点之后。显然,指针的初始状态:当LA和LB为非空表时,pa和pb分别指向La和Lb表中第一个结点,否则为空;pc指向空表Lc中的头结点。由于链表的长度为隐含的,则第一个循环执行的条件是pa和pb皆非空,当其中一个为空时,说明有一个表的元素已归并完,则只要将另一个表中的剩余链接在pc所指结点之后即可。
“`
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){
//已知单链线性表La和Lb的元素按值非递减排列。
//归并La和Lb得到新的单链线性表Lc,Lc元素也按值非递减排列。
pa=La->next; pb=Lb->next;
Lc=pc=La; //用La的头结点作为Lc的头结点
while(pa&&pb){
if(pa->data<=pb->data){
pc->next=pa;pc=pa;pa=pa->next;
}
else{pc->next=pb;pc=pb;pb=pb->next;}
}
pc->next=pa?pa:pb; //插入剩余段
free( Lb); //释放Lb的头结点
}//MergeList_L
0 0
- 将两个有序链表并为一个有序链表
- 将两个有序链表和为另外一个链表,并保证有序
- 将两个有序链表并为一个有序链表
- 数据结构——将两个有序链表并为一个有序链表算法
- Java将两个有序链表合并为一个有序链表、将两个有序数组合并成一个有序数组
- 将两个有序链表合成一个有序链表
- 两个有序链表合并为一个有序链表
- 两个有序链表合并为一个有序链表
- 两个有序链表求差集,合并为一个有序链表
- 将两个有序链表合并为一个有序链表
- 将两个递增的有序链表合并为一个递增的有序链表
- 两个有序链表合并为有序
- 数据结构之将两个递增的有序链表合并为一个递增的有序链表
- 将两个非递减的有序链表合并为一个非递增的有序链表
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- 将两个无序数组合并为有序链表
- 将两个有序链表head1 head2,合并为一个链表
- 将两个线性链表归并为一个有序链表
- python 配置开发环境 安装mysql-connector-python
- Q7--斐波那契数列
- 手动部署ISC
- 微信小程序使用e.target.dataset的小bug
- 80386的分段机制、分页机制和物理地址的形成
- 将两个有序链表并为一个有序链表
- 输出一个整数的每一位
- 自定义RadioGroup样式
- 数据结构看书笔记(八)--图
- 知乎 SVM图解
- 【洛谷 1013】 进制位
- 一致性哈希算法的应用
- 我侬词
- APP测试准备