下标从一开始
typedef{
int *data;
int len;
}L;
L *merge1(L A,LB)
L* merge1(L A, L B){
L *C = new L;
C->data = new int[A.len+B.len];
C->len = A.len + B.len;
int i=1,j=1,k=1; //K记录c中元素的个数,i为A,j为B
while(i<A.len && j<B.len){ //是否有其中一个加入完成
if(A->data[i]<B.data[i]){
C->data[k] = A.data[i];
i++; k++;
}
else if(A.data[i]>B.data[j]){
C->data[k] = B.data[j];
j++; k++;
}
else{ //A.data[i] = B.data[i]
C->data[k] = A.data[i];
i++; k++;
C->data[k] = B.data[j];
j++; k++;
}
}
while(i<A.len){ //B全部加入到C了,剩余的A中元素全部往C后面加入即可
C->data[k] = A.data[i];
i++;k++;
}
while(j<B.len){ //A全部加入到C了,同上
C->data[k] = B.data[i];
j++;k++;
}
return C;
}