数据结构——栈和队列
栈栈的定义与运算
栈是只允许在线性表的一段进行插入和删除的线性表。表中值允许插入和删除的一段称为栈顶命令一段称为栈底。
由于只能在栈顶进行插入和删除操作,使得后进栈的元素先出栈,先进栈的元素后出栈,所以栈是一种后进先出(Last In First Out,简称LIFO)的数据结构。有关栈的应用都是基于这一特性。
栈的操作通常称为入栈或进栈,其删除操作称为出栈或退栈。当栈中五元素是,称为空栈。
有关栈的基本操作主要有以下几种:
1. 栈的初始化操作,即建立一个空栈S
2. 判空栈操作,弱S为空栈,返回一个真值
3. 进栈操作,在S栈顶插入一个元素X
4. 出栈操作,若栈S不空,则取栈顶元素(栈顶元素不删除)。
栈的顺序存储结构(又称为顺序栈)类似于线性表的顺序存储结构。
队列双队列实现栈的操作:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546class MyStack { queue<int> queue1; qu ...