
数据结构
StrugglingMice
这个作者很懒,什么都没留下…
展开
-
线性表(List)---链式存储结构(单向链表)
线性表(List)—链式存储结构存储设计与实现线性表链式结构的设计链式存储的基本介绍链式存储定义: 为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身信息外,还需要存储指示其直接后继的信息。 表头结点: 链表中第一个结点,包含指向第一个数据匀速的指针,以及链表自身的一些信息。 数据结点: 链表中代表数据元素的结点,包含指向下一个数据元素的指针和信息。 尾结点原创 2017-07-09 02:13:10 · 672 阅读 · 0 评论 -
线性表(List)---链式存储结构(双向链表)
双向链表设计与实现双向链表的介绍双向链表定义: 在单链表的结点中增加一个指向其前驱的pre指针。 双向链表设计意义: 方便逆序访问链表中的元素(O(n))。 单链表中的逆序访问:len = LinkList_Length(list);for (i = len - 1; len >= 0; i++) //O(n){ LinkListNode *p = LinkList_Get(lis原创 2017-07-15 03:08:27 · 1075 阅读 · 0 评论 -
线性表(List)---顺序存储结构
线性表(List)—顺序存储结构的设计与实现线性表顺序结构的设计线性表顺序存储结构:用一段地址连续地存储单元依次存放 线性表的数据元素。 定义一个结构体用存储数据typedef struct _tag_SeqList{ int Length;//长度 int Capacity;//容量 unsigned int **node;}TSeqList;int Capacit原创 2017-07-07 02:14:13 · 1229 阅读 · 1 评论 -
线性表(List)---链式存储(循环链表)
循环链表的设计与实现循环链表定义: 将单链表中最后一个数据元素中的next指针指向第一个元素。 循环链表的设计定义一个结构体用来存储指针与指针之间的关系:typedef struct _tag_CircleListNode{ struct _tag_CircleListNode *next;}CircleListNode;定义一个头结点用来存储链表:typedef struct _ta原创 2017-07-14 04:04:06 · 465 阅读 · 0 评论 -
线性表(List)---栈的链式存储
栈的链式存储结构设计与实现栈链式存储结构的设计栈的链式存储结构简称链栈。 栈的链式存储模型 定义一个结构体作为链表的业务结点typedef struct _tag_LinkStackNode //链表的业务节点{ LinkListNode node; //第一个域(第一个元素) LinkStackNode *item; //栈的业务节点}TLinkStackNode原创 2017-07-16 02:48:21 · 475 阅读 · 0 评论 -
线性表(List)---栈的顺序存储
栈的顺序存储结构的设计与实现栈的介绍栈的定义: 栈是一种特殊的线性表,栈只能在栈顶一段进行操作(先进后出)。 栈顶(Top): 允许操作的一端。 栈底(Bottom): 不允许操作的一端。栈的常用操作 (1)创建栈 (2)销毁栈 (3)清空栈 (4)入栈 (5)出栈 (6)获取栈顶元素 (7)获取栈的大小栈顺序存储结构的设计栈的顺序存储模型 我们可以重复利用之前写过的线性表顺序存原创 2017-07-16 02:00:08 · 491 阅读 · 0 评论 -
栈的应用
栈的简单应用我们可以重复利用之前写过的[栈的链式存储](http://blog.youkuaiyun.com/strugglingmice/article/details/75195411)中的代码,在此基础上完成栈的一下的一些简单的应用。(一)就近匹配**几乎所有的编译器都具有检测括号是否匹配的能力,如何实现编译器中的符号成对检测?**当需要检测成对出现但又互不相邻的事物,可以使用栈“后进先出”的特,栈非原创 2017-07-20 00:32:29 · 397 阅读 · 0 评论 -
线性表(List)---队列的链式存储
队列的链式存储结构的设计与实现队列的链式存储结构设计队列的链式存储模型定义一个结构体作为链表的业务结点typedef struct _tag_LinkQueueNode//队列的业务节点{ LinkListNode node; //第一个域 LinkQueueNode *item;//栈的业务节点}TLinkQueueNode;队列链式存储的重要算法入队算法:需要分配内存给业原创 2017-07-20 02:41:41 · 424 阅读 · 0 评论 -
线性表(List)---队列的顺序存储
队列的顺序存储结构的设计与实现栈的介绍定义: 队列是一种特殊的线性表,队列仅在线性表的两端进行操作。 队头(Front): 取出数据元素的一端。* 队尾(Rear): 插入数据元素的一端。队列的常用操作 (1)创建队列 (2)销毁队列 (3)进队列 (4)出队列 (5)获取队列头部元素 (6)获取队列的长度队列顺序存储结构的设计队列的顺序存储模型 因为队列是一种特殊的线性表原创 2017-07-20 02:21:28 · 688 阅读 · 0 评论