数据结构(C语言版):顺序存储结构上编程实现将两个有序表合成一个有序表,要完整程序,包括MAIN函数。

2024-12-16 14:10:12
推荐回答(2个)
回答1:

#include

void merger(int d1[10],int t1,int d2[10],int t2,int result[20])
{ int k1=0,k2=0,k=0;
while(k1 { if(d1[k1] result[k++]=d1[k1++];
else
result[k++]=d2[k2++];
}
if(k1 for(k2=k1;k2 result[k++]=d1[k2];
else
for(k1=k2;k1 result[k++]=d2[k1];
}

int main()
{ int data1[10]={3,5,7,9,12,19,25,26,27},data2[10]={1,4,6,8,9,15,17,21},r[20];
int total1=6,total2=8,k;
merger(data1,total1,data2,total2,r);
for(k=0; k printf("%d. %d\n",k+1,r[k]);
printf("\ntotal1=%d total2=%d",total1,total2) ;
system("pause");
}

回答2:

这是用两路合并排序算发