// algo2-5.cpp 实现算法2.11、2.12的程序
#include"c1.h"
typedef int ElemType;
#include"c2-2.h"
#include"bo2-2.cpp"
#include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数
void CreateList(LinkList &L,int n) // 算法2.11
{ // 逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表L
int i;
LinkList p;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL; // 先建立一个带头结点的单链表
printf("请输入%d个数据\n",n);
for(i=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(LNode)); // 生成新结点
scanf("%d",&p->data); // 输入元素值
p->next=L->next; // 插入到表头
L->next=p;
}
}
void CreateList2(LinkList &L,int n)
{ // 正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表L
int i;
LinkList p,q;
L=(LinkList)malloc(sizeof(LNode)); // 生成头结点
L->next=NULL;
q=L;
printf("请输入%d个数据\n",n);
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
q=q->next;
}
p->next=NULL;
}
void MergeList(LinkList La,LinkList &Lb,LinkList &Lc) // 算法2.12
{ // 已知单链线性表La和Lb的元素按值非递减排列。
// 归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列
LinkList pa=La->next,pb=Lb->next,pc;
Lc=pc=La; // 用La的头结点作为Lc的头结点
while(pa&&pb)
if(pa->data<=pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
pc->next=pa?pa:pb; // 插入剩余段
free(Lb); // 释放Lb的头结点
Lb=NULL;
}
void main()
{
int n=5;
LinkList La,Lb,Lc;
printf("按非递减顺序, ");
CreateList2(La,n); // 正位序输入n个元素的值
printf("La="); // 输出链表La的内容
ListTraverse(La,print);
printf("按非递增顺序, ");
CreateList(Lb,n); // 逆位序输入n个元素的值
printf("Lb="); // 输出链表Lb的内容
ListTraverse(Lb,print);
MergeList(La,Lb,Lc); // 按非递减顺序归并La和Lb,得到新表Lc
printf("Lc="); // 输出链表Lc的内容
ListTraverse(Lc,print);
}

运行结果如下:

/*
按非递减顺序, 请输入5个数据
1 2 2 3 7
La=1 2 2 3 7
按非递增顺序, 请输入5个数据
9 8 8 7 5
Lb=5 7 8 8 9
Lc=1 2 2 3 5 7 7 8 8 9
*/

转载于:https://www.cnblogs.com/KongkOngL/p/3923429.html

实现算法2.11、2.12的程序相关推荐

  1. 如何不解锁BL刷入Android 12/安卓程序员预览版或者刷回Android 11

    教程参考的"如何不解锁BL使用adb sideload安装(刷入)android 12(安卓)程序员预览版1/DP1" 最近重新使用回了Pixel 5,前几天突然心血来潮想刷入An ...

  2. 【云周刊】第146期:史上最大规模人机协同的双11,12位技术大V揭秘背后黑科技...

    摘要: 史上最大规模人机协同的双11,12位技术大V揭秘背后黑科技,INTERSPEECH 2017系列 | 语音识别之语言模型技术,机器学习初学者必须知道的十大算法,云数据库SQL Server 2 ...

  3. 历史上最伟大的 12 位程序员

    所谓程序员,是指那些能够创造.编写计算机程序的人.不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西.然而,有些程序员的贡 献却超过了一个普通人一辈子能奉献的力量.这些程序员是先 ...

  4. 最伟大的12位程序猿

    所谓程序猿,是指那些可以创造.编写计算机程序的人.不论一个人是什么样的程序猿,或多或少.他都在为我们这个社会贡献着什么东西. 然而,有些程序猿的贡献却超过了一个普通人一辈子能奉献的力量.这些程序猿是先 ...

  5. 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]...

    <北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLA ...

  6. 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)...

    <北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)>由会员分享,可在线阅读,更多相关<北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)(9 ...

  7. 盘点:历史上最伟大的12位程序员

    所谓程序员,是指那些能够创造.编写计算机程序的人.不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西.然而,有些程序员的贡献却超过了一个普通人一辈子能奉献的力量.这些程序员是先驱 ...

  8. 【历史上的今天】11 月 12 日:USB 3.0 发布;图灵机论文被发表;TinyOS 创作者诞生

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 11 月 12 日,在 112 年前的今天,我国著名数学家华罗庚先生诞生,他也是中科院院士,清华大学 ...

  9. 计算机毕业设计ssm基于协同过滤算法的甜品推荐系统uhnk3系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于协同过滤算法的甜品推荐系统uhnk3系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于协同过滤算法的甜品推荐系统uhnk3系统+程序+源码+lw+远程部署 本源码技术栈 ...

最新文章

  1. 计算机视觉形态学之膨胀、腐蚀、开运算、闭运算、顶帽、黑帽和形态学梯度
  2. au加载默认的输入和输出设备失败_一文带你读懂 C/C++ 语言输入输出流与缓存区...
  3. SQL SERVER 2005中如何获取日期(一个月的最后一日、一年的第一日等等)
  4. python分配 使最大的最小_python3中的heapq模块使用
  5. 19 MM配置-BP业务伙伴-定义编码范围
  6. 大剧播出无人值守“心里不慌”,优酷全链路技术齐上阵
  7. P3690 【模板】Link Cut Tree (动态树)
  8. windows C++ 解决Office打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”
  9. iOS App 签名的原理 App 重签名(一)
  10. 图书信息管理系统(顺序表)
  11. 怎么用别的方法里的变量_微波炉烤鸡翅的方法 怎么用微波炉烤鸡翅
  12. POSCMS 域名绑定
  13. localize by triangle note
  14. MATLAB 如何做16进制运算
  15. 电脑狂、理论家、情报员……你是哪种类型的软件工程师?
  16. 程序员等级图鉴,大牛头发有点少
  17. Vivado报错[Opt 31 - 305] Invalid connectivity on net RESETN connected to port RESETN
  18. 【网络攻防】“跨站脚本攻击“ 第一弹 ——反射型XSS
  19. MSVC编译器Warnings手册
  20. 手机QQ2008源码

热门文章

  1. ES查询-基本查询续
  2. ORA-09925: Unable to create audit trail file 在DBCA时
  3. delphi设计模式 多语言开发
  4. [转] 应聘Java笔试时可能出现问题及其答案(第五部分)
  5. 华为新系统鸿蒙在哪更新,暂定3月,华为新系统登场!开始切换至鸿蒙OS,37款机型支持升级...
  6. spark代码连接hive_spark连接Hive
  7. bash脚本创建变量_创建一个Bash脚本模板
  8. git提交emoji_Emoji-Log:一种编写Git提交消息的新方法
  9. cpu负载转移内存_为什么将所有工作负载转移到云中是个坏主意
  10. 原型磨刀 开源一样的_晚餐也可以像开源一样