将两个有序顺序表合并成一个新的有序顺序表,并由函数返回结果顺序表。
核心代码部分
bool Merge( SeqList A, SeqList B, SeqList &C )
{
A.length = len(A);
B.length = len(B);
C.length = len(C);
if ( A.length + B.length > C.length )
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];
k++;
i++;
}
else
{
C.data[k] = B.data[j];
k++;
j++;
}
}
while ( i<A.length )
{
C.data[k++] = A.data[i++];
}
while ( j<B.length )
{
C.data[k++] = B.data[j++];
}
return true;
}