数据结构
文章平均质量分 79
思い出•物语
这个作者很懒,什么都没留下…
展开
-
数据结构(3)——双链表的实现
在数据结构(2)中,我实现了其中一种较为常用的链表形式-单向无头不循环链表。那在这篇博客中,我来实现另一种——双向有头循环链表。 结构示意图: 该链表 包含一个哨兵位的头结点,该结点的data成员不存储实际数值; 每一个结点都有两个指针,分别指向上一个结点的后指针和下一个结点的前指针; 最后一个结点的后指针指向哨兵位头结点的前指针,构成闭环; 双向有头循环链表结构较为复杂,实现起来也需要较多的思维量和代码量,但是在运用时会比单向链表方便很多。这次我们也是分为三个文件: Dlist.h Dlis.原创 2021-09-01 22:55:43 · 204 阅读 · 0 评论 -
数据结构(2)——单链表的实现
在“数据结构(1)”中,我在博客中实现了顺序表的定义功能和基本功能函数。那么这篇博客我想以相同的思路来实现单链表。 单链表也是一种数据存储结构,与顺序表性比,单链表存储数据所用的空间不是连续的,在内存中是一块块零散的空间,通过指针相连。 因此,在单链表的结构体中,有两个成员: struct SListNode { DataType data;//用于存储数据 struct SListNode* next;//用于指向下一块空间 }; 示意图: ...原创 2021-08-30 21:56:20 · 327 阅读 · 0 评论 -
数据结构(1)——顺序表的实现
本文将通过C语言模拟顺序表,实现基本函数。 顺序表是线性表的顺序表示,即用一组地址连续的存储单元依次存储线性表的数据元素。 物理结构大概如下图所示: 通过数据表,我们将实现数据的增删查改等功能,每个功能都由单独的接口函数来实现。 按照正规工程的写法,我们还是分成三个文件来写: Seqlist.h 顺序表结构体的创建、各函数的声明 Seqlist.c 各函数的实现 Test.c 用于测试 一、Seqlist.h 为了能使该顺序表存各种类型的数据,使用typedef重命名。比如要存原创 2021-08-29 14:04:13 · 280 阅读 · 0 评论