数据结构
IT呵呵哒
这个作者很懒,什么都没留下…
展开
-
国嵌数据学习之循环链表
单链表的局限: 单链表可以用于表示任意的线性关系。 有些线性关系是循环的,即没有队尾元素。循环链表的定义: 将单链表中的最后一个元素的next指针指向第一个元素。在循环链表中可以定义一个“当前”指针,这个指针通常称为游标,可以通过这个游标来遍历链表中的所有元素。实现代码: 定义的头文件: #ifndef __DLISTLINK_H_#define __DLISTLI...原创 2018-06-03 18:56:34 · 130 阅读 · 0 评论 -
国嵌数据结构学习之双向链表
单链表的局限: 单链表的节点都只有一个指向下一个节点的指针。 单链表的数据元素无法直接访问其前驱元素(逆序访问单链表中的元素是及其耗时的操作)。双向链表的定义: 在单链表的节点中增加一个指向其前驱的pre指针。typedef void DLinkList;typedef struct _tag_DLinkListNode DLinkListNode;struct _tag_...原创 2018-06-03 19:15:06 · 135 阅读 · 0 评论 -
国嵌数据结构学习之线性表
线性表的定义: 线性是零个或多个数据元素的集合。 线性表中的数据元素之间是有顺序的。 线性表中的数据元素的个数是有限的。 线性表中的数据元素的类型必须相同。线性表的定义: 线性表是具有相同类型的n(n>0)个数据元素的有限序列。实现代码: 相关头文件的定义:#ifndef _SEQLIST_H_#define _SEQLIST_H_typedef v...原创 2018-05-27 19:36:18 · 186 阅读 · 0 评论 -
国嵌数据结构学习之单链表
链式存储定义: 为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本省的信息外,还需要存储指示其直接后继的信息。链式存储逻辑结构: n个结点链接成一个链式线性表的结构叫做链表,当每个节点中只包含一个指针域时叫单链表。国嵌实现的是可复用的链表,和大多数书上实现的代码结构不一样。他实现的结构体里面只有一个指针,省去了存储数据的空间,当你实现链表时,把什么链表头,链表元素,...原创 2018-05-27 20:10:39 · 238 阅读 · 0 评论 -
国嵌数据结构学习之栈
栈的定义: 栈是一种特殊的线性表 栈仅能在线性表的一端进行操作 栈顶:允许操作的一端 栈底:不允许操作的一端栈的性质:栈的操作: 创建栈 销毁栈 清空栈 进栈 出栈 获取栈的大小 获取栈顶元素栈的顺序实现: 国嵌实现的栈是用以前实现的顺序表复用实现的,这里可以感受到代码复用的好处,顺序栈的实现,用很少的代码就能...原创 2018-06-10 19:00:38 · 248 阅读 · 0 评论 -
国嵌数据结构学习之栈的链式实现
栈的链式结构是用以前实现的可复用的单链表实现的,和栈的顺序结构区别仅仅在储存结构方面实现代码: 定义的头文件:#ifndef _LINKSTACK_H_#define _LINKSTACK_H_typedef void LinkStack;typedef struct _tag_LinkStackNode LinkStackNode;struct _tag_LinkStackN...原创 2018-06-10 19:09:13 · 128 阅读 · 0 评论 -
国嵌数据结构学习之队列
队列的定义: 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 注意:队列不予许在中间部位进行操作 应用:银行的取号排队队列的性质: 队列的一些常用操作: 创建队列 销毁队列 清空队列 进队列 出队列 获取对头元素 获...原创 2018-06-10 19:34:09 · 195 阅读 · 0 评论