王道408

线性表的归并

2020-08-05  本文已影响0人  sakura579

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

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

顺序表归并代码


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

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

含有头结点的单链表归并




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


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





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



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

上一篇下一篇

猜你喜欢

热点阅读