问题是:将两个同样长度的有序的线性表组合成一个有序的线性表
代码:
#define MaxSize 10
typedef struct{
int Data[MaxSize];
int Length;
}Seqlist;
Seqlist *MiddleNum(Seqlist *t1,Seqlist *t2){
Seqlist *list1=t1,*list2=t2,*list3;
list3->Length=list1->Length+list2->Length;
int count=0,q=0,p=0;
while(p<(list1->Length)&&q<(list2->Length)){
if(list2->Data[q]<=list1->Data[p]){
list3->Data[count]=list2->Data[q];
q++;
count++;
}
else{
list3->Data[count]=list1->Data[p];
p++;
count++;
}
}
printf("%d\n%d\n%d\n",p,q,count);
return list3;
}
测试用例:
list1:3 4 5 8 9
list2:0 1 2 6 7
期望输出:
list3:0 1 2 3 4 5 6 7 8 9
Bug位置:
第一次进入if循环之后,list2->data[5]从7被误改成0了
求debug