PTA数据结构编程题7-51,52,53

51

7-51

这道题目总体思路是先遍历两个链表,然后处理剩余数组的元素,最后再把处理结果放入第三个数组中输出即可。

如何遍历两个数组?

用双指针i,j

把小的元素先放入数组中,如果不等长,则是短的链表先走完,此时,同时遍历两个数组这件事情结束。

然后是处理剩余的元素,为什么剩余了?因为长链表还没有走完但是短链表走完了,所以还剩下一些长链表里面的元素没有被处理。

长的链表此时双指针的下标一定还小于数组的大小。由于是非降序数组,则是挨个放入,恰好从小到大排列。

52

7-52

输入部分与上一题一样,这里省略,

直接看核心部分。

还是用双指针来遍历。

由于是非降序数组,当一个数组的元素比另一个数组的元素小的时候,就要把小元素数组下标右移,当两个元素相等时,放入第三个数组中。

53

将输入的数组统一放在一个数组中,然后进行排序,直接可以输出中位数。

源码

相关推荐
代码游侠几秒前
应用——Linux进程通信与信号处理
linux·运维·服务器·笔记·学习·信号处理
石像鬼₧魂石4 分钟前
内网渗透靶场 攻击 & 排错命令分类速查表
linux·windows·学习·ubuntu
AI视觉网奇10 分钟前
Ue5 端上 搭建笔记
笔记·ue5
d111111111d24 分钟前
在STM32中,中断服务函数的命名有什么要求?
笔记·stm32·单片机·嵌入式硬件·学习·c#
凯_kyle38 分钟前
Python 算法竞赛 —— 基础篇(更新ing)
笔记·python·算法
零一科技43 分钟前
然然管理系统-学习搭环境-本地先跑起来
学习
无限进步_1 小时前
【C语言】队列(Queue)数据结构的实现与分析
c语言·开发语言·数据结构·c++·算法·链表·visual studio
走在路上的菜鸟1 小时前
Android学Dart学习笔记第二十三节 类-扩展类型
android·笔记·学习·flutter
愤怒学习的白菜1 小时前
0 trivial:UVM的空壳平台
学习·uvm·ic验证
快乐非自愿1 小时前
Java函数式接口——渐进式学习
java·开发语言·学习