(2.2.4-7)将两个有序顺序表合并为一个新的有序顺序表。
思路:两个有序表分别从头开始比较,将较小值放入新表;如果一个顺序表已经到底另外一个还有,直接将还有值的那个表所有尾插入新表。
代码如下:
void MergList(SqList &L1,SqList &L2,SqList &L3){
int i=0,j=0,k=0;
{
while(i<L1.length && j<L2.length)
{
if(L1.data[i]<=L2.data[j])
{
L3.data[k++]=L1.data[i++];
}
else{
L3.data[k++]=L2.data[j++];
}
}
while(i<L1.length){
L3.data[k++]=L1.data[i++];
}
while(j<L2.length){
L3.data[k++]=L2.data[j++];
}
L3.length=k;
}
}
运行截图:
