C++Visual2019,线性表问题
2.有两个有序排序的单链表L1和12,分别存放10个数据元素,设计算法实现两个单链表的合并,要求合并后的单链表仍然有序排序,并输出合并
结果。 本帖最后由 xieglt 于 2020-11-3 09:06 编辑
https://fishc.com.cn/thread-182651-1-2.html {:10_277:} {:10_243:} 我不会做,帮你顶一下 2楼的答案 鱼币啊 {:10_249:} #include<stdio.h>
int main()
{
int a={1,3,5,7,9,11,13,15,17,19};
int b={2,4,6,8,10,12,14,16,18,20};
int i,j;//用于双层循环
int k=9;//内层循环的初始值
int t=19;//目标数组的下标值
//倒序遍历两个数组,这样不用每次都向后移动各个数值
for (i=9;i>=0;i--)
{
for (j=k;j>=0;j--)
{
if(a>=b)//若数组a当前的值大于数组b当前的值,那么就跳出外层循环,将数组a当前的值放到目标位置
break;
a=b;//否则,将数组b当前的值放到目标位置,同时t--,目标位置向前移动
k--;//数组b中已经有一个进行排序了,下次循环的时候就少了一个
}
a=a;//将数组a当前的值放到目标位置,同时t--,目标位置向前移动
}
for(i=0;i<20;i++)
printf("%d\n",a);
return 0;
}
页:
[1]