数据结构~07.栈和队列的基本概念
数据结构~07.栈和队列的基本概念
本文是上一篇文章的后续,详情点击该链接~
栈的定义:
栈是一种只能在一端进行插入或删除的线性表。其中,允许插入或删除的一端为栈顶(TOP)。栈顶由一个称为栈顶指针的位置指示器来指示。它是动态变化的。表的另一端为栈底,栈底固定不变。栈的插入和删除操作一般称为入栈和出栈。由栈的定义可以看出,栈的主要特点就是先进后出。
栈的存储结构:
栈可以用顺序表和链表来存储。也称顺序栈和链栈。在栈的定义中已经说明,栈就好像是一种稍加限制之后的线性表。
#define MAXSIZE 100
//顺序栈的定义
typedef struct {int data[MAXSIZE]; //存放栈中元素,MAXSIZE是已经定义的常量int top; //栈顶指针
}SqStack; //顺序栈结点定义//链栈结点定义
typedef struct LNode {int data; //数据域struct LNode *next; //指针域
}LNode; //链栈结点的定义
链栈
队列的定义
队列简称队,它也是一种操作受限的线性表。其限制为仅允许在表的一端插入,在表的另一端删除。可进行插入的一端为队尾,可进行删除的一端为队头。向队列插入新元素称为进队,从队列中删除元素称为出队。队列的特点概括起来就是:先进先出。
队列的存储结构
队列可以用顺序表和链表来存储队列。称为顺序队和链队两种。
#define MAXSIZE 100
//顺序队的定义
typedef struct {int data[MAXSIZE];int front; //队首指针int rear; //队尾指针
}SqQueue; //顺序队结点类型定义//=====================================================//链队定义
//队结点类型
typedef struct QNode {int data; //数据域struct QNode* next; //指针域
}QNode; //队结点类型定义
//链队类型定义
typedef struct {QNode* front; //队头指针QNode* rear; //队尾指针
}LiQueue; //链队类型定义
链队
数据结构~07.栈和队列的基本概念相关推荐
- 【数据结构】栈、队列、堆的python实现
[数据结构]栈.队列.堆的python实现 一.栈的python实现 1.1.栈的列表实现方法 1.2.用双向队列模拟栈 二.队列的python实现 2.1.队列的列表实现 2.2.使用deque实现 ...
- C语言【数据结构】栈和队列【OJ题(C++)、选择题】
目录 一.OJ题 1.225. 用队列实现栈 2.232. 用栈实现队列 3.622. 设计循环队列 4.20. 有效的括号 二.选择题 1.下列关于栈的叙述正确的是(B) 2.一个栈的入栈序列为AB ...
- 10.数据结构:栈和队列
大家好,我王有志又回来啦.关注王有志,回复DSA获取数据结构和算法学习资源. 最近被全链路优化搞得焦头烂额,等抽出时间来和大家分享下我司正在做的"全面提速工程". 今天我们来学习线 ...
- 【数据结构】栈与队列区分push pop offer poll containsKey put等
目录 前言 正文 队列 栈 map集合 前言 算法中经常会用到栈和队列等数据结构 但是经常弄混他们的进与取的代码算法 此文主要是做一个区分度 用法以及注意事项详情可看我之前的文章 [数据结构]栈和队列 ...
- 算法与数据结构(part5)--栈与队列
学习笔记,仅供参考,有错必纠 文章目录 算法与数据结构–基于python 栈 栈是什么 栈(ADT)的操作 栈的实现 队列 队列是什么 队列的操作 队列的实现 双端队列 双端队列是什么 双端队列的操作 ...
- 数据结构03栈和队列
第三章栈和队列 STL 栈:stack http://blog.csdn.net/weixin_37289816/article/details/54773495 队列: queue http:// ...
- 数据结构习题——栈和队列(二)
第3章 栈和队列 一.填空题 1. 线性表.栈和队列都是 线性 结构,可以在线性表的 任何 位置插入和删除元素:对于栈只能在 栈顶 插入和删除元素:对于队列只能在 队尾 插入和 队头 删除元 ...
- 数据结构之—栈和队列
目录 引言 一.栈(stack) 1.栈的应用 2.栈的实现 二.队列 1.基础队列的实现 2.循环队列 编辑 1)概念 2)如何判断环形队列为空⭐ 总结:环形队列是否已满条件:(tail+1)%d ...
- 【霍洛维兹数据结构】栈和队列 | 动态循环队列 | 迷宫问题 | 表达式 | 多重栈多重队列
前言: 最近在读霍罗维兹的<数据结构基础>(Fundamentals of Data Structures in C),本篇博客为阅读笔记和知识总结. 目录 Ⅰ. 栈(STACKS) 0x ...
最新文章
- SAP Lumira 初探
- 将新主要功能部署到生产时要考虑的5件事情
- 渭南java_渭南java语言入门教程视频
- BZOJ 1460 Pku2114 Boatherds
- Java跟踪对象,使用OpenCV实时隔离和跟踪多个对象?
- protel中PCB板大小的自定义方法
- 团部培训笔记-设计模式-《2013-11-27 代理模式》
- 百度开源的 71 个项目,你用过几个 ?
- c语言开发unity,[Unity3D]U3D开发项目总结
- html文字logo
- 3ds Max中的复制方式
- java scp 文件夹_如何用 scp命令创建文件夹
- 免费软件不比付费软件逊色半分之94款免费软件
- 智能暖风机——8.云端控制
- 隐写术之实验吧--小苹果
- sed删除空行、换行符的方法 (包括空格、特殊字符、tab等组成的空行) vim删除^M
- html实现滑块拖动验证
- python torch exp_Python torch.diag方法代码示例
- 利用MAT进行内存泄漏分析
- 大致总结一下 安卓各大版本的差异(安卓4以上版本)