合并两个有序链表,两个链表合并为一个有序链表

  合并两个有序链表,两个链表合并为一个有序链表

  已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。

  输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用1表示序列的结尾(1不属于这个序列)。数字用空格间隔。

  输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出零。

  #包含标准视频

  数据类型说明结构限制节点

  {

  (同Internationalorganizations)国际组织数据;

  结构节点*下一个

  }LNode,*链接列表

  链表ListCreat1()

  {

  链表L1,尾巴,p;

  L1=(链表)malloc(sizeof(LNode));

  L1-next=NULL;

  尾巴=L1;

  int n;

  while(scanf(%d ,n) n!=-1)

  {

  p=(LinkList)malloc(sizeof(LNode));

  p-next=NULL;

  p-data=n;

  tail-next=p;

  尾巴=p;

  }

  归还L1;

  }

  链表ListCreat2()

  {

  链表L2,尾巴,p;

  L2=(链表)malloc(sizeof(LNode));

  L2-next=NULL;

  尾巴=L2;

  int m;

  while(scanf(%d ,m) m!=-1)

  {

  p=(LinkList)malloc(sizeof(LNode));

  p-next=NULL;

  p-data=m;

  tail-next=p;

  尾巴=p;

  }

  归还L2;

  }

  链接列表合并(L1链接列表,L2链接列表)

  {

  链表p1,p2,尾部

  p1=L1-下一个;

  p2=L2-下一个;

  L1-next=NULL;

  尾巴=L1;

  免费(L2);

  while(p1 p2)

  {

  如果(p1-数据p2-数据)

  {

  tail-next=P1;

  tail=p1

  P1=P1-下一个;

  }

  其他

  {

  tail-next=p2;

  尾部=p2

  p2=p2-next;

  }

  }

  如果(p1!=空)

  tail-next=P1;

  其他

  tail-next=p2;

  }

  无效打印(链接列表L1)

  {

  链表p;

  p=L1下一个;

  if(p==NULL)

  {

  printf( NULL \ n );

  }

  int k=0;

  while(p)

  {

  k;

  如果(k==1)

  {

  printf(%d ,p-data);

  }

  其他

  {

  printf( %d ,p-data);

  }

  p=p-next;

  }

  printf( \ n );

  }

  int main()

  {

  腰神经2联系人列表;

  L2联系人列表;

  L1=list creat 1();

  L2=list creat 2();

  合并(L1、L2);

  印刷品(L1);

  返回0;

  }输入样例:

  1 3 5 -1

  2 4 6 8 10 -1

  运行结果如下:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: