6-3 两个有序链表序列的合并 (15 分)

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。

函数接口定义:

List Merge( List L1, List L2 );

其中List结构定义如下:

typedef struct Node *PtrToNode;
struct Node {ElementType Data; /* 存储结点数据 */PtrToNode   Next; /* 指向下一个结点的指针 */
};
typedef PtrToNode List; /* 定义单链表类型 */

L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头指针。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {ElementType Data;PtrToNode   Next;
};
typedef PtrToNode List;List Read(); /* 细节在此不表 */
void Print( List L ); /* 细节在此不表;空链表将输出NULL */List Merge( List L1, List L2 );int main()
{List L1, L2, L;L1 = Read();L2 = Read();L = Merge(L1, L2);Print(L);Print(L1);Print(L2);return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

3

1 3 5

5

2 4 6 8 10

输出样例:

1 2 3 4 5 6 8 10

NULL

NULL

List Merge( List L1, List L2 ){List head = (List)malloc(sizeof(List));List p = head;List a = L1->Next;List b = L2->Next;while(a && b){if(a->Data > b->Data){p->Next = b;b = b->Next;}else{p->Next = a;a = a->Next;}p = p->Next;}p->Next = a ? a : b;L1->Next = NULL;L2->Next = NULL;return head;
}

6-3 两个有序链表序列的合并相关推荐

  1. 习题2.5 两个有序链表序列的合并 (15 分)

    习题2.5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...

  2. 2021-10-27 PTA 数据结构 链表 两个有序链表序列的合并

    题目:两个有序链表序列的合并 (本题来自PTA) 以下是AC代码(代码来源于老师所给的题解) #include<stdio.h> #include<stdlib.h> #inc ...

  3. 7-174 两个有序链表序列的合并 (20 分)

    7-174 两个有序链表序列的合并 (20 分) 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降 ...

  4. 7-1 两个有序链表序列的合并 (15 分)

    ** 7-1 两个有序链表序列的合并 (15 分) ** 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正整数构 ...

  5. 两个有序链表序列的合并编程

    7-51 两个有序链表序列的合并 (20 分) 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序 ...

  6. 两个有序链表序列的合并

    习题2.5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...

  7. PTA: 6-7 两个有序链表序列的合并 (15 分)

    大一下半期数据结构 数据结构题目集 两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, L ...

  8. 7-3 两个有序链表序列的合并 (15 分)

    7-3 两个有序链表序列的合并 (15 分) #include <stdio.h> #include <stdlib.h> typedef int ElementType; t ...

  9. 两个有序链表序列的合并_leetcode链表之合并两个排序的链表

    序 本文主要记录一下leetcode链表之合并两个排序的链表 题目 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的.示例1:​输入:1->2->4, 1-> ...

最新文章

  1. node nest 框架学习(一)
  2. ethereum(以太坊)(七)--枚举/映射/构造函数/修改器
  3. HIbernate的三种状态
  4. 将一个正方形分成4个大小一样的小正方形,再将其中一个小正方形分成4个小正方形,如此类推,分割n次是几个正方形?
  5. r 数据框选子集_在带有组合框的值列表的下拉列表中显示显示属性的子集
  6. 蓝奏云批量下载v0.3修复版
  7. 7-6 求整数段和 (10 分)
  8. 【嵌入式Linux】STM32MP157开发板上Linux启动流程
  9. [论文阅读] Unifying Global-Local Representations in Salient Object Detection with Transformer
  10. Detour hook库x64编译
  11. 黄金价格走势软件下载,国内十大现货黄金正规平台排名(2022最新榜单)
  12. 用Python的turtle库写一串糖葫芦!
  13. 美丽乡村可行性研究报告
  14. 公众号h5页面分享并监测分享事件
  15. 计算机白板培训心得,关于电子白板的学习心得体会
  16. 近乎于完美的数字笔记——Notion
  17. UGNX8.0塑料模具设计329讲视频教程 2D排位 全3D分模教程
  18. 在自己的电脑上做网站(XP系统)
  19. 深入理解Go语言中的函数【单元测试】14
  20. 社群裂变到底怎么玩?熟练掌握这6种模型,助你成为增长黑客

热门文章

  1. linux下C/C++ IDE比较 Code::Blocks还是不错的
  2. 28 | 案例篇:一个SQL查询要15秒,这是怎么回事?
  3. 深圳的中学计算机课学什么时候,2018-2019年深圳中小学校历出炉 中小学校什么时候几号开学...
  4. 计算机专业是否限制语种,高考日语选什么专业(如果高考选日语,大学选专业有什么限制)...
  5. 问题 B: 小鱼的搭配购物(并查集+01背包)
  6. 放下表格——开箱即用的新冠疫苗接种统计模板来了!
  7. 5月29日阿里云开发者大会了解一下?
  8. 阿里云云效如何帮助企业10倍研发效能提升?
  9. DOTA2:IG实力不如Nigma?解说:错了,让门票给他们自己回家训练
  10. 本地连接时,通过localhost不能登陆到指定的端口