线性表的归并

归并的含义是将两个或两个以上的有序序列归并为一个有序序列的过程。
归并排序的主要思想是:将若干有序序列逐步归并,最终归并为一个有序序列。

其中最常见的是二路归并。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Er0Ne8Xn-1597025336790)(https://upload-images.jianshu.io/upload_images/7186975-30216af16cb07a0a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fB4tcuMt-1597025336813)(https://upload-images.jianshu.io/upload_images/7186975-44a6d4c45d61fa57.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

顺序表归并代码

参数列表 定义三个数组 m n 分别是传入数组的长度
i , j 就是演示图片的 i 和 j
k是始终指示出 结果线性表的尾部位置

第一个while循环结束时 一定会有一个数组被归并完
后面的两个while循环 只会执行其中一个

含有头结点的单链表归并



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CtkKXrx-1597025336846)(https://upload-images.jianshu.io/upload_images/7186975-5b637fd3373bddae.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

C = A;
C->next =NULL;
从待归并列表中 取下一个头结点 来作为结果链表的头结点

第二种 归并出来一种 逆序的链表
类似于头插法 得到逆序链表 上面那种类似尾插法 得到正序链表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gXbGD8Oa-1597025336863)(https://upload-images.jianshu.io/upload_images/7186975-a32399f9c3814db3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]



它和尾插法的不同 主要在于当其中一个链表归并完毕后
剩余的链表需要一个一个拆开 再并入

图中少定义了 LNode *s; 放在C=A;前面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值