尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AcWing 3639:链表合并 ← 贵州大学考研机试题
【题目来源】https://www.acwing.com/problem/content/3642/【题目描述】给定两个元素有序从小到大的链表要求将两个链表合并成一个有序从小到大链表。【输入格式】第一行输入第一个链表的结点数 S1。第二行输入 S1 个整数两两之间用空格隔开。第三行输入第二个链表的结点数 S2。第四行输入 S2 个整数两两之间用空格隔开。【输出格式】输出合并之后的链表结果两两之间用空格隔开。【数据范围】1≤S1,S2≤100【输入样例】42 4 6 833 5 7【输出样例】2 3 4 5 6 7 8【算法分析】● 头插法及尾插法头插法创建单链表https://blog.csdn.net/hnjzsyjyj/article/details/120285274尾插法创建单链表https://blog.csdn.net/hnjzsyjyj/article/details/120285300● 结构体构造函数下面两段代码等价。第一段代码为结构体构造函数写法第二段代码不是结构体构造函数写法。struct LinkNode { int data; LinkNode* next; LinkNode(int x):data(x),next(NULL) {} }; LinkNode* Lnew LinkNode(123);struct LinkNode { int data; LinkNode* next; }; LinkNode* Lnew LinkNode; L-data123; L-nextNULL;【算法代码一非链表写法】#includebits/stdc.h using namespace std; const int maxn205; int a[maxn]; int main() { int n; cinn; for(int i1; in; i) { cina[i]; } int p; cinp; for(int in1; inp; i) { cina[i]; } sort(a1,apn1); for(int i1; ipn; i) { couta[i] ; } return 0; } /* in: 4 2 4 6 8 3 3 5 7 out: 2 3 4 5 6 7 8 */【算法代码二数组模拟链表】#include bits/stdc.h using namespace std; const int maxn210; int e[maxn],ne[maxn]; int a[maxn],b[maxn]; int main() { int n1,n2; cinn1; for(int i1; in1; i) { cina[i]; } cinn2; for(int i1; in2; i) { cinb[i]; } //Build linked list 1 for(int i1; in1; i) e[i]a[i]; for(int i1; in1; i) ne[i]i1; ne[n1]-1; int h11; //Build linked list 2 for(int i1; in2; i) e[n1i]b[i]; for(int i1; in2; i) ne[n1i]n1i1; ne[n1n2]-1; int h2n11; //merge int p1h1,p2h2; while(p1!-1 p2!-1) { if(e[p1]e[p2]) { coute[p1] ; p1ne[p1]; } else coute[p2] , p2ne[p2]; } while(p1!-1) { coute[p1] ; p1ne[p1]; } while(p2!-1) { coute[p2] ; p2ne[p2]; } return 0; } /* in: 4 2 4 6 8 3 3 5 7 out: 2 3 4 5 6 7 8 */【算法代码三纯链表写法】#include bits/stdc.h using namespace std; struct LinkNode { int data; LinkNode* next; LinkNode(int x):data(x),next(NULL) {} }; void insert(LinkNode* L, int x) { LinkNode* pnew LinkNode(x); LinkNode* rL; while(r-next) rr-next; r-nextp; } void print(LinkNode* L) { LinkNode* pL-next; while(p) { coutp-data ; pp-next; } } int main() { LinkNode* L1new LinkNode(-1); LinkNode* L2new LinkNode(-1); int n,m,x; cinn; for(int i1; in; i) { cinx; insert(L1,x); } cinm; for(int i1; im; i) { cinx; insert(L2,x); } LinkNode* ansnew LinkNode(-1); LinkNode* tans; LinkNode* pL1-next; LinkNode* qL2-next; while(q p) { if(p-data q-data) { t-nextp; pp-next; } else { t-nextq; qq-next; } tt-next; } if(p) t-nextp; if(q) t-nextq; print(ans); return 0; } /* in: 4 2 4 6 8 3 3 5 7 out: 2 3 4 5 6 7 8 */【参考文献】https://www.cnblogs.com/Azurestars/p/15491714.htmlhttps://www.acwing.com/problem/content/3642/https://www.acwing.com/solution/content/83605/
RELATED

相关推荐

双目立体视觉实验全流程:从标定、SGBM视差到深度图与点云

双目立体视觉实验全流程:从标定、SGBM视差到深度图与点云

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 22:11:45
反激与正激开关电源深度解析:从变压器本质到选型实战

反激与正激开关电源深度解析:从变压器本质到选型实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 22:11:45
HS0038红外接收头引脚与电路搭建实战:从原理到应用

HS0038红外接收头引脚与电路搭建实战:从原理到应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/6 22:11:45
MORE NEWS

更多资讯

📰

工业自动化FAT检验表:87项硬核测试与四层验证逻辑

简介:本资源是一份完整的出厂验收测试(FAT)标准化检验表,面向自动化、过程控制、工业系统集成领域的工程师、质量检验人员及项目交付负责人,用于规范设备出厂前的功能性、安全性与合规性验证流程。文档覆盖文件审查、软…

📰

电商社群KPI失效真相:从静态考核表到动态作战地图

简介:本资源是一份面向电商运营管理者、社群负责人及绩效考核设计者的实操型KPI方案工具包,聚焦解决“如何科学设定社群运营考核指标”这一核心痛点。方案深度剖析转化率、复购率等结果型KPI与活跃度、活动频次等过程型KPI的适用边界与潜在风险&#xff…

📰

纠删码CPU开销实测:RustFS对比三副本,成本与性能权衡

这两年存储圈子里有一个话题每隔一阵就会被翻出来吵一轮:对象存储到底该用三副本还是纠删码?每次有人晒出EC方案的成本对比图,总会有一批人跳出来说“省那点钱,CPU都烧没了”,另一批人则用大厂案例反驳。我也一直想搞清…

📰

多Agent协作编排实战:事件驱动架构与共享上下文设计

如果你也发现单个Agent跑起来很像样,但一旦上了规模就乱成一锅粥,那这篇应该能帮到你。最近团队内部把多Agent协作的编排层项目收了个尾,代号就叫“Agent-Reach”,核心解决的是“如何让不同职能的Agent互相感知、彼此触达、协同干…

📰

纠删码不是免费午餐:RustFS实测EC与三副本的CPU代价

存储圈子这几年有个绕不开的话题:想省钱,能不能用纠删码(EC)替代多副本。尤其是我在折腾RustFS——一个用Rust写的轻量分布式存储系统——这套逻辑一度让我很上头:同样是容忍两块盘同时故障,三副本要烧掉30…

📰

汇编核心:MOV指令与PUSH/POP栈操作,理解程序底层数据流动

直接进入正题。最近复习汇编语言,正好啃到“访问信息”这一节的后半部分,也就是 3.4.3 数据传送示例和 3.4.4 压入和弹出栈数据。这两个小节表面上是两个独立话题,一个讲 MOV 指令怎么搬运数据,一个讲 PUSH/POP 怎么操作栈&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬