本篇文章通过代码示例介绍一下使用c语言合并两个有序链表的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

教程推荐:《c语言教程视频》

c语言实现两个有序链表的合并

现有两个有序单链表,通过代码实现将两个单链表合并为一个有序的新表,要求使用旧表的空间,不能新分配内存#include #include typedef struct List{

int a;

struct List *next;}list;void newList(list *l){

//初始化头节点

l->next = NULL;}void setList(list * l){

//建立链表

int i = 1;

int j;

while (i)

{

scanf_s("%d", &j);

if (j == -1)

{

i = 0;

}

else

{

list *l1 = (list *)malloc(sizeof(list));//为新的结点分派内存

l1->a = j;//储存数据

/*

将最后结点的next区域指向新结点

将新结点的next区域指向设置为空

*/

l->next = l1;

l1->next = NULL;

l = l->next;

}

}}void printfList(list *l){

printf("该链表内容为:\n");

while (l->next)

{

printf("%d\t", l->next->a);

l = l->next;

}

printf("\n");}list *add(list *LA, list *LB){

//记录两个链表的头结点

list *la=LA;

list *l = LA;

list *lb = LB;

//移动指针

LA = LA->next;

LB = LB->next;

la->next = NULL;

while (LA!=NULL&&LB!=NULL)

{

/*

将两个结点的数据进行比较,数据较小的结点接在头结点后面,

*/

if (LA->a < LB->a)

{

la->next = LA;

la = LA;

LA = LA->next;

}

else

{

la->next = LB;

la = LB;

LB = LB->next;

}

}

//若其中一个链表的结点已经全接在新表中则将另一个链表的剩余结点接在新表的后面

if (LA)

{

la->next = LA;

}

if(LB)

{

la->next = LB;

}

free(lb);

return l;}int main(){

//为结点分配内存

list *LA = (list *)malloc(sizeof(list));

list *LB = (list *)malloc(sizeof(list));

//初始化结点

newList(LA);

newList(LB);

//建立链表

setList(LA);

setList(LB);

//输出链表的内容

printf("LA的数据:\n");

printfList(LA);

printf("LB的数据:\n");

printfList(LB);

list *LC = add(LA, LB);

//输出合并后的新表

printfList(LC);

system("pause");

return 0;}

更多编程相关知识,请访问:编程入门!!

c语言将两个有序表合并为一个有序表,c语言实现两个有序链表的合并(代码示例)...相关推荐

  1. oracle横向合并两张表,SQL中将两个表合并成一个新表 SQL如何合并两个表并生成一个新表?...

    sql把两个表合并成一个新表的语句应该怎么写SQL SERVER: select * into 表3 from ( select 字段列表1 from 表1 union all select 字段列表 ...

  2. wps合并所有sheet页_WPS怎么把几个工作表合并到一个工作表 - 卡饭网

    excel如何快速把多个工作表合并到一个excel表 excel如何快速把多个工作表合并到一个excel表 有这么一种情况,就是我们有很多张excel,而且excel表里面的公式基本一样,我们就想快速 ...

  3. 如何将多个Excel表合并成一个Excel表

    如何将多个Excel表合并成一个Excel表 每天需要和Excel办公软件打交道俄小伙伴,他们的电脑桌面上总是布满密密麻麻的Excel表,这样看上去非常的凌乱,其实我们完全可以将其中类别相同的Exce ...

  4. excel几个表合成一张_快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  5. 如何快速把多个excel表合并成一个excel表(不熟悉vba及公式的人)

    对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 对于Excel的合并,很多需要通过vba变成,但对于不熟悉vba编程的人,如何合并呢?给大家推荐 ...

  6. excel如何把多张表合并成一个表_如何快速把多个excel表格合并成一个excel表

    如何快速把多个excel表格合并成一个excel表呢? 首先,我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel文件. 用microsoft excel打开新建的e ...

  7. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿

    1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...

  8. 多个工作表合并到一个工作表

    今天跟大家分享一下多个工作表合并到一个工作表 1.打开演示文件,要求快速将表格合并 2.首先我们点击下图选项 3.然后我们点击[汇总拆分]-[合并多表] 4.将[表头行数]设置为1 5.最后点击[确定 ...

  9. 快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  10. VBA代码实例---多个工作表内容合并到一个工作表中

    这是一个常用而且经典的例子:根据内容,把N个工作表中的内容,合并到一个工作表中: ¤主要知识点¤ 1.工作表选取和内容的复制: 2.IF分支语句和For循环语句的使用: ¤工作表样式¤ ¤代码实例¤ ...

最新文章

  1. 华为9.0以上系统如何没root激活XPOSED框架的流程
  2. C#的加密解密算法,包括Silverlight的MD5算法
  3. [转]中国CIO的空前机会和空前责任
  4. linux磁盘管理相关命令,Linux | 磁盘管理命令
  5. sun m5000 snapshot
  6. JavaSE入门学习51:多线程编程(二)
  7. (pytorch-深度学习)通过时间反向传播
  8. 软件开发工具--自考2018年10月程序填空
  9. 电子科技大学20春《c语言》在线作业1,电子科技大学20春《C语言(专科)》在线作业1.doc...
  10. Myeclipse快键键
  11. 十六进制和字符串的转换
  12. 系统集成项目管理之何为系统集成
  13. 微积分(七)——一元函数积分学
  14. h3c 抓包么 能通过debug_华三路由器可以抓包吗 路由器密码
  15. selenium 自动化测试 Chrome 大于 63 版本 不能重定向问题解决办法
  16. Ubuntu下安装为知笔记
  17. 学习-工具-tox自动化工具
  18. 网络对抗技术 实验二
  19. 腾讯qlv格式转换mp4为何转换后只有音频
  20. 高德地图api的使用

热门文章

  1. pycharm使用技巧-换行
  2. 兴业管家 配对手机不在支付棒白名单内
  3. 单例模式应用场景的分析介绍
  4. 关于System.Data.ParameterDirection四个枚举类型所起的作用
  5. HTML 立方米表示
  6. item_search_img-按图搜索淘宝商品(拍立淘)
  7. MT5 EA交易期货-查询资金
  8. [转]读“袁峰的红包”有感
  9. Freeswitch操作基本配置
  10. 自动化专业与计算机专业的联系和区别,自动化专业与人工智能的关系