将两个有序顺序表合并为一个新的有序顺序表,并由函数返回合并后的顺序表
思路1:遍历两个顺序表L0,L1,把L1中的元素依次插入到L0中。(插入每次都要把后面的元素后移,时间复杂度高)
思路2:同时遍历两个元素并比较,依次存放到第三个顺序表L2中。这里要注意的是:最后有表会有剩余元素,要将所有的剩余元素想办法全部加到新表最后。
思路2代码
//将两个有序顺序表合并为一个新的有序顺序表,并由函数返回合并后的顺序表
#include<stdio.h>
#include<stdlib.h>
#define Maxsize 5
typedef struct {
int* data;
int length;
}SqList;
// ---------------------------- 初始化-----------------------------
bool InitList0(SqList& L) {
L.data = (int*)malloc(sizeof(int) * (Maxsize));
L.length = Maxsize;
for (int i = 0; i < L.length; i++) {
L.data[i] = i +