设有两个整数类型的顺序表A(有m个元素)和B(有n个元素),其元素均以从小到大的升序排列。试编写一个函数,将这两个顺序表合并成一个顺序表C,要求C的元素也以从小到大的升序排列。
合并算法:
void Merge(SeqList<int> &LA, SeqList<int> &LB, SeqList<int> &LC){
int i = 0, j = 0, k = 0, va, vb;
while( i < LA.Length() && j < LB.Length()){
LA.getData(i+1, va);
LB.getData(j+1, vb);
if(va > vb){
LC.Insert(k, vb);
k++;
j++;
}
else{
LC.Insert(k, va);
k++;
i++;
}
}
if(i == LA.Length())
while(j < LB.Length()){
LB.getData(j+1, vb);
LC.Insert(k, vb);
j++;
k++;
}
if(j == LB.Length()){
while(i < LA.Length())
LA.getData(i+1, va);
LC.Insert(k, va);
i++;
k++;
}
return;
}