数据结构
文章平均质量分 94
无敌暴龙战神!
这个作者很懒,什么都没留下…
展开
-
初阶数据结构之双向链表详解
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表,因此,本节的双向链表也是双向循环链表。在List.h中定义链表结点,data的类型设为DataType,方便以后使用其他类型的数据。}ListNode;原创 2024-05-18 16:59:05 · 1143 阅读 · 1 评论 -
初阶数据结构之单链表详解
在实现单链表的操作之前,我们应该把结点定义出来,已知结点内存储结点数据(data)和下一个结点的地址(即一个指向下一个结点的指针),因此我们可以用结构体来定义结点。//定义结点//数据域//指针域}SLNode;//定义结点//数据域//指针域}SLNode;//单链表初始化//单链表的新增节点(把新增的数据转换为结点结构体类型)//单链表尾插结点//单链表头插结点//打印单链表//单链表尾删结点//单链表头删//单链表查找数据//单链表删除指定位置结点。原创 2024-05-08 14:35:35 · 1101 阅读 · 5 评论 -
顺序表实现简易通讯录
注意:我们在"SeqList.h"头文件中调用了头文件"contact.h",并且把"contact.h"中的People结构体重命名为了SLDataType类型,也是由于现在顺序表中存储的都为联系人类型的数据。因此,在进行具体的实现操作之前,要在"contact.h"头文件中声明struct SeqList结构体,这样我们才可以在contact.h内使用struct SeqList*类型的参数。在通讯录中删除一个联系人,其实就是在顺序表中删除一个People类型的数据。原创 2024-04-30 19:12:23 · 679 阅读 · 5 评论 -
初阶数据结构之顺序表详解
线性表的长度,即所含元素的个数,用n表示,且n可以等于零,表示线性表是一个空表。此外,线性表可以是有序的,也可以是无序的。另外,声明也允许将程序的不同部分分开编译,因为在一个文件中声明了一个变量或函数后,在其他文件中可以使用这个声明而无需重新定义。实现动态顺序表的实现之前我们需要创建2个源文件分别进行顺序表功能的实现和功能的测试,和一个头文件用于函数的声明和顺序表的创建。数据结构的研究还涉及到为这种结构定义适当的运算,并设计出相应的算法,确保经过这些运算后得到的新结构仍保持原来的结构类型。原创 2024-04-26 01:01:54 · 767 阅读 · 2 评论