(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;
}
}
運作截圖:
