数据结构实验(一)程序设计回顾
1|06-1 最大子段和
因为是字段和,所以要尽可能的多加,如果在加的过程中当前和为负数时,往后累加一定不会比保留当前值更优秀,所以要把之前的部分抛弃重新累加
2|06-2 日期类型
判断闰年的标准操作
3|06-3 调整数组使奇数全部都位于偶数前面其他数字顺序不变
这题有个很奇怪的地方就是数据中是没有的多余的换行符的,但是输出却是用puts
,puts
会默认输出一个换行符。所以我exit
函数提前结束了程序,没有使用主程序给的输出函数
4|07-1 链表操作
这里的链表操作是非常基础的
首先输出是反复被调用的,所以可以先写输出链表的函数,这里输出的时候可以使用结构化绑定非常好用
要注意的是,最初建立链表是逆向链表,这里我用了双向链表,每次都在头部插入。
删除第 m 个节点其实也比较简单,就是从第一个节点向后跳 m 次删除就好了。
删除指定的学号就要把整个序列一遍就好了。
5|07-2 单链表基本操作
这个题其实相比上一题更加简单了,我就手写一下链表,还是很轻松的
不过这道题还是让我发现了一个值得考虑的问题,来看一下我最初写的链表的构造函数
看似是没有问题,那么在看一下我的插入函数吧
这个时候,我在插入第一个元素的时候就会直接执行it->next = new Node( val , it->next)
但是此时我的 it
就是begin
,而begin
还是指向nullptr
的就会直接导致RE
,所以因为这里是单链表,正确的解决方法是
让begin
指向一个空节点就好了。那么此时要注意的就是实际上链表的第一个节点应该是begin->next
。
虽然这个问题有其他的解决方法,要注意的是这里道题问题是可能会在0
的位置插入节点,所以其他的方法还有特判begin==nullptr
或者是直接写双向链表。
6|07-3 报销
这题其实非常简单的,定义一个结构体,然后重载一下运算符就好了
__EOF__

本文作者:PHarr
本文链接:https://www.cnblogs.com/PHarr/p/16647045.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
本文链接:https://www.cnblogs.com/PHarr/p/16647045.html
关于博主:前OIer,SMUer
版权声明:CC BY-NC 4.0
声援博主:如果这篇文章对您有帮助,不妨给我点个赞
标签:
数据结构与算法分析
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律