![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 90
比比芭比波
东大控制研究生、前字节程序员收徒、外接各种程序软件设计开发、招聘实习生和兼职开发人员
展开
-
单链表的基本操作及C语言代码实现
便利的概念想必大家都不会陌生,即就是从链表的头开始,逐步向后进行每一个元素的访问,这就是遍历,对于遍历操作,我们可以衍生出很多常用的数据操作,比如说查询元素,修改元素,获取元素个数,打印整个链表数据等等。删除元素要建立一个前驱结点和一个当前结点,当找到了我们需要删除的数据时,直接使用前驱结点跳过要删除的结点指向要删除结点的后一个结点,再将原有的结点通过free函数释放掉。以上的操作均用到了遍历的思维,针对于遍历还有非常多的用法供自主设计,请参考后文配套的习题进行练习。原创 2024-06-13 17:25:49 · 856 阅读 · 0 评论 -
数据结构中单链表的基本设计(创建单链表)
在初始化之后,就可以着手开始创建单链表了,单链表的创建分为头插入法和尾插入法两种,两者并无本质上的不同,都是利用指针指向下一个结点元素的方式进行逐个创建,只不过使用头插入法最终得到的结果是逆序的。如图,为头插法的创建过程():该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后。原创 2024-06-11 17:28:20 · 846 阅读 · 0 评论 -
数据结构中单链表的基本设计(单链表的初始化)
在这里我们有一个注意点,就是一定要记住判断是否开辟空间失败,虽然在很多试题中以及常用的环境提供的环境非常安全,几乎没有开辟失败的存在,但是也一定要养成判断是否开辟失败并且判断失败后执行代码,但在生产中由于未知的情况造成一旦空间开辟失败任然在继续执行代码,后果将不堪设想,因此养成这样的判断是很有必要的,在C++中可以使用try-catch这样的语句进行优化。用来表示链表的数据类型,实质上是指向链表中第一个节点(通常是头节点)的指针。:这是函数的名字,按照命名规范,它暗示该函数用于执行链表的初始化操作。原创 2024-06-11 17:25:13 · 354 阅读 · 0 评论 -
数据结构中单链表的基本设计(1)
/ 整型变量// 字符变量// 浮点型变量5};在这个例子中,struct Tag定义了一个名为Tag的结构体类型,它包含了三个成员:一个整型myInt,一个字符型myChar,和一个浮点型myFloat。原创 2024-06-11 17:24:04 · 397 阅读 · 0 评论 -
数据结构中单链表的基本设计(总)
此文是我结合官方文档进行的改写,鉴于有和我前几年一样的初学者,我把官网很多没说明的函数、宏、关键字等进行详细说明,更加方便读者进行阅读和学习,不需要再进行各种繁复的检索即可学会链表。希望能有点赞与支持。原创 2024-06-11 17:21:23 · 1772 阅读 · 0 评论 -
数据结构复习心得-适合初学者入门
接上文,在理解了时间复杂度的概念后,就可以根据实际的代码进行度量了,以下举例了几个常用的时间复杂度的表示,对于如何度量其最重要的是观察程序中的循环结构,每一个循环结构代表执行循环中的指令n次,而其余指令一般而言一行代码代表执行一次,对于一个程序而言,执行的次数相差较小其实没有什么区别,都是一瞬间执行完毕。b)算法的测试困难,有时一套算法需要海量的数据才能真正比较出效果,而为了设计这样的海量数据以及正确性,则需要花费大量的时间,而对于不同的数据,同一算法又有不一样的效果,故对于数据的使用很难去抉择。原创 2024-06-07 15:07:14 · 2061 阅读 · 0 评论