![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构(C语言解释)
文章平均质量分 76
小小怪下士ss
这个作者很懒,什么都没留下…
展开
-
栈(链式存储结构)
栈也可以像线性表一样采用链式存储结构,采用链式存储结构的栈称为链栈。这里采用带头结点的单链表实现链栈。链栈具有不存在栈满上溢的优点,规定栈的所有操作都是在单链表的表头进行的。原因是根据下面示意图我们可以知道,在已知头结点地址的情况下,在其后面插入一个新结点和删除首结点都很方便。//数据域//指针域//链栈结点类型同时根据上面示意图以及链栈特性,我们可以得出以下结论:1.栈空的条件:s -> next == NULL.原创 2024-01-04 22:48:51 · 513 阅读 · 1 评论 -
线性表(3)
在前面介绍的单链表时候,我们了解到它的指针域只包含了一个指向后继结点的指针,这会造成它无法逆向检索,因此我们引入双链表,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。原创 2023-10-20 22:42:35 · 35 阅读 · 1 评论 -
线性表(2)
前面介绍了顺序存储结构,了解完后我们发现顺序表在使用时需要事先占用一大块存储空间,这大大降低了存储空间的利用率,而且在实现一些操作时需要移动大量元素,时间复杂度大大提高。为了解决这些问题就有了链式存储结构,它可以实现存储空间的动态管理。存储元素的数据域用data表示,指针域用next表示,在后面的操作中我们均采取带头结点的单链表,即单链表是否为空都有一个头结点。//建立存储结构//存放数据//指向后继结点}LinkNode;原创 2023-10-10 18:18:51 · 26 阅读 · 1 评论 -
线性表(1)
线性表是最基本、最简单也最常用的一种数据结构。例如成绩单中每个成绩记录就是一个数据元素,每个元素又包含学号、姓名等数据项。下面我将介绍线性表的顺序和链式两种存储结构。线性表是具有相同特性的数据元素的一个有限序列。它的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。逻辑结构可以用下图表示:从定义可以得出线性表的三点特性:1.有穷性:一个线性表中的元素个数有限。2.一致性:一个线性表中元素的性质都一致。3.序列性: 只存在唯一的开始元素和终端元素。原创 2023-09-27 23:42:19 · 57 阅读 · 1 评论 -
用户自己建立数据类型(数据结构学前必知)
在学习数据结构之前学会自己建立数据类型是必要的,因为学习数据结构时,对于线性表,栈,树等等我们都需要根据它们的特点去建立相应的数据类型。例如:我们声明线性表的顺序存储类型时,我们需要一个数组去存储线性表中的所有元素,还需要一个整型变量来存储线性表的实际长度。这时候C语言所提供的一些已经由系统所定义好的数据类型(int,float,char等)就不足以完成这个任务,就需要了解下面的介绍。在生活中我们常常遇到一些彼此之间存在联系,成组出现的数据。原创 2023-09-14 21:19:29 · 74 阅读 · 2 评论