PTA 合并递增整数序列

PTA-线性结构1 两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下:typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下 阅读详情

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。
其中List结构定义如下:

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

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

List Merge( List L1, List L2 )
{
	List L = (List)malloc(sizeof(struct Node));
	List L3 = L;
	List P = L1 -> Next;
	List Q = L2 -> Next;
	while(P && Q){
		if(P -> Data < Q -> Data){
			L3 -> Next = P;
			P = P -> Next;
		}else{
			L3 -> Next = Q;
			Q = Q -> Next;
		}
		L3 = L3 -> Next;
	}
	L3 -> Next = NULL;
	if(P){
		L3 -> Next = P;
		P = P -> Next;
	}
	if(Q){
		L3 -> Next = Q;
		Q = Q -> Next;
	}
	//L3 -> Next = NULL;
	L1 -> Next = NULL;
	L2 -> Next = NULL;
	return L;
}

疑问点
1.后面的if改为while会出错
2.L3 -> Next = NULL;的位置放在下面会报错

6-4 两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Nex 阅读详情

相关推荐

两个有序链表序列的合并(C语言)

两个有序链表序列的合并(C语言) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode Lis

qq_42200813的博客 396

两个有序链表序列的合并—对函数形参为指针的一个新理解

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */

Mai___的博客 369

08习题2.5 两个有序链表序列的合并(函数题)【PTA浙大版《数据结构(第2版)》题目集】

两个有序链表序列的合并

少侠PSY的博客 582

整数合并(编写一个函数int comb(int a,int b),将两个正整数a、b(取值范围为10~1000000)的十位数和个位数合并形成一个整数并返回。)

整数合并 【问题描述】 编写一个函数int comb(int a,int b),将两个正整数a、b(取值范围为10~1000000)的十位数和个位数合并形成一个整数并返回。合并的方式是:将a的十位数和个位数依次放在结果的十位和千位上,将b的十位数和个位数依次放在结果的个位和百位上。例如,a=45,b=12,调用该函数后,返回5241。main主函数功能:输入两个整数,调用comb函数进行合并,并输出合并后的结果。 【输入形式】 输入两个正整数。 【输出形式】 输出合并后的正整数。输出结束不换行。 【样例输入

BC 4293

陈越、何钦铭-数据结构作业2:顺序链表合并

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

CHI里的Error handling机制

本文讲解了CHI里的Error handling机制。

W1Z1Q的专栏 2502

6-1 整数交叉合并

【难度为1级,难度等级为1-5级】本题目要求将两个2位整数合并,交叉合并。当a=45,b=12,调用该函数后,c=1425。

2201_75957651的博客 426

Ubuntu离线情况下安装gcc编译器

Ubuntu离线情况下安装gcc编译器1.系统版本2.安装说明3.异常处理 1.系统版本 (1)Ubuntu系统版本:20.04.1LTS; (2)gcc编译器版本:gcc-9.3.0(下载链接为https://download.youkuaiyun.com/download/qq_18350351/13762214); 当前可找到的gcc最新版本为gcc-10,但是笔者在安装gcc-10版本时发现一些依赖项无法安装,因此选取了gcc-9版本。如果是在联网情况下安装,直接使用apt相关的安装指令即可。 2.安装说明 安

GreenHand的博客 3935

2020-08-09

c语言50简单 函数fiun的功能是∶将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是将a中的十位和个位数依次放在变量c的 百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。 例如,当a= 45,b=12。调用该函数后,c=2415。 ...

m0_49295337的博客 642

高通410随身WiFi刷OpenWRT与Debian双系统一键集成方案

本文详细介绍高通410随身WiFi设备刷入OpenWRT与Debian双系统的一键集成方案。通过虎王工作室提供的一键刷机包,用户可轻松实现双系统部署,兼顾OpenWRT的网络功能与Debian的完整应用服务,适用于网络加速、服务器部署等多种场景,并提供了硬件资源分配与系统切换的实用指南。

docker7nomad的博客 1138

别再乱点U盘里的.exe了!手把手教你彻底清除那个伪装成Usb Disk的蠕虫病毒

本文详细介绍了如何识别、清除和预防伪装成Usb Disk的蠕虫病毒。从识别感染迹象到安全备份文件,再到深度清理病毒残留和构建防护策略,提供了一套完整的U盘病毒解决方案。特别提醒用户注意U盘病毒的风险,并养成良好的使用习惯。

weixin_30496999的博客 674

PTA 两个有序链表序列的合并

PTA 两个有序链表序列的合并 题目描述: 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNo

Eli_Code 1万+

【DRAM存储器六十四】DDR5介绍--preamble、postamble、interamble、刷新、power down、MPSM

简述DDR5 reamble、postamble、interamble、刷新、power down、MPSM的功能定义

highman110的博客 339

PTA6-9 两个有序链表序列的合并 (15 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列

6-9 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef P

m0_61049596的博客 1527

Linux系统安全学习手册

Linux反弹shell Linux系统应急响应 Linux服务器安全加固 Linux下的用户、组和权限 Linux中的gcc Linux中su和sudo的用法和区别 Linux系统python2与python3共存 Linux中grep工具的使用 Linux中环境变量的设置 Linux中常见的150个命令(干货) Linux中编写Shell脚本 LNMP环境搭建Wordpress博客 LAMP环境搭建一个Discuz论坛 Linux运维比较常用的一些脚本 Linux系统中安装软

谢公子的博客 7533

SAP Clean Core 对传统 ABAP 开发人员来说意味着什么:机遇和挑战

SAP Clean Core是一种战略方法,旨在优化和现代化 SAP S/4HANA 系统,通过尽量减少定制,确保核心系统的稳定性、高效性和对云环境的兼容性。Clean Core 作为一种设计思路,致力于让 ERP 系统的核心功能保持简洁、规范,避免不必要的复杂化,最终维持一个标准化的核心,使系统更容易升级、性能更优越,同时支持快速的创新能力。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 611

pta题解

pta题解 习题2.4 递增的整数序列链表的插入 (15分) 这道题先申请一个空间然后把数据存进去,然后从头开始遍历,如果比当前遍历到的小,那么就插在它的前面。通过q,和l两个指针,l一直往下遍历,然后更新q,这样会比较容易插入,要注意考虑,可能会一直遍历到最尾部才满足条件 List Insert( List L, ElementType X ) { List head=L; L...

a921893396的博客 385

Dify 第 19 篇 手把手教你开发 Dify 插件:从零实现一个时间工具

本文介绍了Dify平台的插件开发机制和流程。Dify支持多种插件类型,包括模型、工具、数据源等,可通过CLI工具快速开发插件。文章详细讲解了如何安装Dify CLI工具,并演示了从零开发一个获取系统时间插件的完整过程,包括项目初始化、文件解读和打包部署。通过该教程,开发者可以快速掌握Dify插件开发的核心要点,实现自定义功能扩展。

甘蓝的专栏 2451

PTA 6-07 两个有序链表序列的合并

其中List/* 存储结点数据 *//* 指向下一个结点的指针 *//* 定义单链表类型 */L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头指针。之所以写下了这篇博客介绍和分享其中我的见解与错误细节,也是想帮助后来的所需者提供一个思路和建议,不至于再手足无措。当然发出来这篇博客,如有不足之处或者哪里有问题也请看客老爷们指点一二!题目集持续更新ing~

2302_80250049的博客 488

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

线性结构1 两个有序链表序列的合并

<>本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 <> #include <stdio.h> #include <stdlib.h> typedef int ElementType; typedef struct Node *PtrToNode; struct Node { ElementType Data; PtrToNode Next; }; typedef PtrToNode List; List Read(

weixin_45870455的博客 220

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

pta 6-5 两个有序链表序列的合并(分数 20)

pta 6-5 两个有序链表序列的合并(分数 20)题解

chen0708chen的博客 7850

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【数据结构】PTA 两个有序链表序列的合并 C语言 【详】

其中List/* 存储结点数据 *//* 指向下一个结点的指针 *//* 定义单链表类型 */L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的带头结点的链表头指针。Program received signal SIGSEGV, Segmentation fault.-优快云博客简单来说就是访问了无效的内存地址,而这种错误直接运行是不会出现的,只有调试时会跳出如图警告。

2302_79596028的博客 3814

PTA-数据结构 函数题02- 两个有序链表序列的合并

PTA-数据结构 02- 两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */...

qq_43683133的博客 1629

PTA 两个有序链表序列的合并

02-线性结构1 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Dat

qq_40874760的博客 2003

02-线性结构1 两个有序链表序列的合并

02-线性结构1 两个有序链表序列的合并 来自:PTA_数据结构_两个有序链表序列的合并 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementTyp...

王寒寒的博客 154

PTA-数据结构-02-线性结构1 两个有序链表序列的合并 (15 分)

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node PtrToNode; struct Node { ElementType Data; / 存储结点数据 / PtrToNode Next; / 指向下一个结点的指针 /...

sharemon的博客 628
上一篇: PTA 最大子列和问题 四种方法
下一篇: PTA 双端队列
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值