白砂糖 发表于 2020-11-2 23:45:19

C++Visual2019,线性表问题

2.有两个有序排序的单链表L1和12,分别存放10个数据元素,设计算
法实现两个单链表的合并,要求合并后的单链表仍然有序排序,并输出合并
结果。

xieglt 发表于 2020-11-3 09:05:00

本帖最后由 xieglt 于 2020-11-3 09:06 编辑

https://fishc.com.cn/thread-182651-1-2.html

心驰神往 发表于 2020-11-3 09:46:14

{:10_277:}

一枚丶学渣 发表于 2020-11-3 09:55:42

{:10_243:}

乐乐学编程 发表于 2020-11-3 14:08:21

我不会做,帮你顶一下

一抹心尘 发表于 2020-11-3 15:38:23

2楼的答案

象棋爱好者 发表于 2020-11-3 19:55:02

鱼币啊

Daniel_Zhang 发表于 2021-1-2 02:01:53

{:10_249:}

RRROLE 发表于 2021-1-2 02:29:51

#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]
查看完整版本: C++Visual2019,线性表问题