求救大佬,用顺序表将两个已经从小到大排好顺序的数组合并并且输出
求救大佬,用顺序表将两个已经从小到大排好顺序的数组合并并且输出题目如图
我自己写的算法如下
【求助帖】请及时确认最佳答案,下次提问时可以得到更多关注,问题可以更快解决#define MAX 20
#include <stdio.h>
typedef struct
{
int last;
int d;
}Seq;
Seq LA;
Seq LB;
Seq LC;
int mergeList(Seq LA,Seq LB,Seq LC)
{
int i,j,k,l;
i=j=k=0;
while(i<=LA.last&&j<=LB.last)
if(LA.d<=LB.d)
{
LC.d=LA.d;
i++;
k++;
}
else
{
LC.d=LB.d;
j++;
k++;
}
while(i<=LA.last)
{
LC.d=LA.d;
i++;k++;
}
while(j<=LB.last)
{
LC.d=LB.d;
i++;j++;
}
LC.last=LA.last+LB.last+1;
return 0;
}
int main()
{ int i =0;
LA.d={0,1,2,3,4,5,5,9,10};
LB.d={3,4,6,7,8};
LC.d={0};
int mergeList(LA,LB,LC);
for (0;i<=13;i++)
printf("%d\n",LC.d);
} 我在main函数这个主函数之上写的都没有报错,但是在main函数内,想给两个数组由我自己赋值,并且合并,然后利用for循环,逐个输出,但是已经有一个小时了,还没有得到解决,也看不出错误在哪,烦请大佬不吝赐教,万分感谢,好人一生平安!
页:
[1]