![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
链表
文章平均质量分 91
链表操作系统的构建
蜜汁博哥
耶耶耶
展开
-
链表输入新思路:getchar()
之前sgq留了一个作业,要完成数组的操作系统,其中需要完成数组的输入功能,数组的输入大家都会,输入数组长度n后用for循环i>a[i]就可以了,但是细心的cyt同学发现了一个问题:我们要怎么输入一个不定长的数组呢?这个方法打破了传统的输入的思路,可以随时停止输入,但是他的缺点就是只能单行输入,如果数据太多会导致输入行过长,影响程序的美观。结构体后输入回车,那么我们需要将上一个结构体存储地址的指针部分指向我们刚刚输入的最后一个结构体,再将刚刚输入的结构体的指针部分置空。原创 2024-03-17 12:38:52 · 896 阅读 · 1 评论 -
动态链表学习笔记:查找,插入与删除
有了插入的铺垫,删除的原理与之相似,也是输入要删除的数据(p2)的位置,那么我们只需要用查找函数找到该位置结构体的前一位(p1)和后一位(p3),让前一个结构体的地址部分指向它后一个结构体。我们查找的逻辑是:输入了元素的位置后,先判断输入是否合理(这个变量起码要大于0)我们只需要在函数中添加一个循环控制变量,当变量和我们输入的元素位置的变量相等时返回对应的指针。输入要插入数据的位置,输入要插入的数据,将数据插入到输入的位置数据的后面。输入要删除的元素的位置,将该处的数据从链表中删除。原创 2024-03-12 20:25:11 · 1041 阅读 · 1 评论 -
动态链表学习笔记:构建与输出
莫名其妙的计算机,莫名其妙的sgq,刚学完结构体就学链表^^现在感觉世界就是一个巨大的链表。为了更好的理解链表,我们不妨想象一种情境:比如我们希望记录全班所有同学的信息(姓名,成绩等),这时我们就需要用到结构体,结构体就像一个打包信息的盒子,我们把信息都装在里面就好,而链表的不同之处就在于它多了下一个节点的地址。使得当我们的指针指向一个数据的同时,也会获得下一个结构体的地址。int num;//学号,相当于数据//分数,相当于数据//存放下一个节点的地址。原创 2024-03-09 00:07:34 · 1049 阅读 · 1 评论