考研 线性表王道 合并两个线性表

void MergeList(SqList* L, SqList* L1, SqList* L2){
	
	if(L->length + L1->length > MaxSize)
		printf("数据太多了");
	int i=0,j=0,k=0;
        while(i<L->length &&j<L1->length){
        	if(L->data[i] <= L1->data[j]){
           	     L2->data[k++]=L->data[i++];
        	}
        	else{
           	    L2->data[k++] = L1->data[j++];
        	}
        }
        //若L1全部比较完 L还没比较完全 意味着L->data[i]>L2->data[k]
	while(i<L->length){
        	L2->data[k++] = L->data[i++];
    	}
	while(j<L1->length){
        	L2->data[k++] = L1->data[j++];
       }
       L2->length = k;
       PrintList(L2);
}

你可能感兴趣的:(数据结构复习,考研,线性表)