将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。
bool Merge(List A,List B,List &C){
if(A.Length+B.Length > C.MaxSize) return false;
int i = 0,j = 0,k = 0;
while(i < A.Length&&j < B.Length){
if(A.data[i]<=B.data[j]) C.data[k++] = A.data[i++];
else C.data[k++] = B.data[j++];
}
while(i < A.Length) C.data[k++] = A.data[i++];
while(j < B.Length) C.data[k++] = B.data[j++];
C.Length = k;
return true;
}