![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 86
ZH_learningblog
To be best me!
展开
-
双向链表链表的实现
引言 上一篇博客讲到单链表的结点中原创 2017-02-19 15:12:42 · 458 阅读 · 0 评论 -
链栈的实现
一、栈的定义 栈可理解为一种受限制的单链表,单链表可在标的两端进行插入删除,栈只能在一端进行插入删除,插入操作成为入栈(push),删除操作成为出栈(pop)。允许插入删除的一端称为栈顶(Top),另一端称为栈底(Button)。 特点: (1)只能在栈顶进行插入删除; (2)先入栈的元素在栈底,后入栈的元素在栈顶; (2)具有“先进后出”(Last In First Out)的原则。原创 2017-02-22 10:52:01 · 543 阅读 · 0 评论 -
环形顺序队列的实现
一、队列的定义 队列是一种特殊的线性表,线性表两端都可以进行插入删除,而队列只能在队头删除,队尾插入。插入元素称为入队,删除元素称为出队。 特点: (1)队列只允许在队头插入,队尾删除; (2)先入队的元素在对头,后入队的元素在队尾; (3)队列遵循“先进先出”的原则。 图示: (1)普通队列 (2)环形队列 二、存储结构及实现 Queue.h #pragma原创 2017-02-22 11:27:55 · 4573 阅读 · 1 评论 -
线性表的链式存储
引言 上一篇博客说到,线性表的顺序存储对于插入删除一个元素需要大量移动元素,那么对于插入删除频繁的线性表,我们就要考虑换另一种存储结构,尽量使得插入删除的时间复杂度为O(1)。 一、单链表 相较于顺序存储用连续的存储单元存储,单链表采用链式存储结构,用一组地址任意的存储单元存储数据元素。 特点: (1)存储单元可以是不连续的,即逻辑结构与物理结构可以不相同; (2)元素用结点存储,原创 2017-02-13 20:43:37 · 315 阅读 · 0 评论 -
线性表的顺序存储结构
一、线性表的定义 线性表是一种线性结构,它包含n≥0个元素,除第一元素个外集合中每一个元素都有一个前驱,除最后一个元素外集合中每一个元素都有一个后继。 二、线性表的特性 (1)线性表中每一个元素都有其确定的位置; (2)线性表中每一个元素都具有相同特性; (3)相邻元素之间存在序偶关系。 三、顺序存储 用一组地址连续的存储单元存储线性表的每一个元素 优缺原创 2017-02-13 10:55:50 · 357 阅读 · 0 评论 -
队列的链式实现
一、链式队列 队列不仅可以用顺序存储,也可以向单链表一样,用链式存储,只不过队列链式存储需要头指针(front)和尾指针(rear),分别指向队头和队尾,数据只能在对头一端删除, 在队尾一端插入。 图示: 二、实现代码 Queue.h #pragma once #define ElemType int //链式队列 typedef struct { ElemType data;//原创 2017-02-26 10:40:28 · 378 阅读 · 0 评论