数据结构——栈和队列
来源:互联网 发布:投弹兵升级数据 编辑:程序博客网 时间:2024/06/06 08:48
数据结构——栈和队列
1、栈
栈的概念
栈是一种特殊的线性表,具有和线性表的特点,同时也有特殊性:元素遵循“先进后出”的特点,也就是只能从栈顶插入或删除元素。同样可以用顺序存储和链式存储两种方式实现,分别称为顺序栈和链栈。栈结构可以用来实现表达式求值、括号匹配等。
栈的特点可以看成是一个桶,往桶里面装东西,取东西都是从上面进行的,最先放进去的要最后才能取出来:
栈的基本操作定义:
- InitStack(&S):初始化一个空栈
- StackEmpty(S):判断栈是否为空,为空返回1否则返回0
- GetTop(S,&e):返回栈顶元素放到e中
- PushStack(&S,e):从栈顶插入元素e
- PopStack(&S,&e):从栈顶弹出元素放入e
- StackLength(S):返回栈内元素个数
- ClearStack(&S):清空栈内元素
栈的实现:
顺序存储和链式存储
2、队列
队列的概念
队列也是一种特殊的线性表,它的特殊性在于“先进先出”,如同现实生活中的排队问题:先来的人先服务完先走。不同于栈的地方在于队列一端用来插入新元素,一端用来删除元素,即有队首和队尾:
队列的基本操作:
- InitQueue(&Q):初始化一个空队列
- QueueEmpty(Q):判断队列是否为空
- EnterQueue(&Q,x):插入元素到队尾
- DeleteQueue(&Q,&x):删除队首一个元素并放入x中
- GetHead(Q,&e):返回队首元素到e
- ClearQueue(&Q):清空队列
队列的实现:
顺序循环队列和链式队列
0 0
- 数据结构——栈和队列
- 数据结构 —— 栈和队列
- 数据结构——栈和队列
- 数据结构——栈和队列
- 数据结构-栈和队列——20150602
- 数据结构——栈和队列
- 数据结构——栈和队列
- 数据结构——栈和队列
- 数据结构——栈和队列
- JAVA数据结构——队列和栈
- 数据结构——链表、栈和队列
- python扩展数据结构—栈和队列
- <数据结构> 实验三 栈和队列——队列
- 数据结构-栈和队列
- 数据结构-栈和队列
- 数据结构--栈和队列
- 数据结构-栈和队列
- 数据结构-栈和队列
- 我的java学习之路-基础-DOM4J
- Java序列化
- Git 提示fatal: remote origin already exists 错误解决办法
- git 推送基本操作
- PHP之0与空字符串关系测试以及详解
- 数据结构——栈和队列
- ubuntu rar
- web开发-本地Windows远程桌面连接阿里云Ubuntu服务器-学习笔记九
- Linux系统开机自动加载驱动module
- 百度地图、高德地图都用POI吸引你,不过它到底是什么?
- bzoj 4819: [Sdoi2017]新生舞会 二分答案+费用流
- 我的java学习之路-html、css学习
- BZOJ 1217: [HNOI2003]消防局的设立 贪心
- JNI学习1之资料整理大全