栈与队列
栈:限定在表尾进行插入和删除的线性表。
栈是一种LIFO(Last In First Out)的线性表,也就是数据元素遵循后进先出的原则。
栈的抽象数据类型:
ADT 栈(Stack)
Data
具有线性表一样的性质。
Operation
top:获取栈顶元素
count:栈的长度
isEmpty:栈内元素是否为空
push(data):元素进栈
pop():元素出栈
removeAll():清空栈内元素
EndADT
按栈的存储结构分类:
- 栈的顺序存储结构
单栈
共享栈 - 栈的链式存储结构
共享栈:
两个顺序栈共享存储空间,栈1的栈顶在下标0处,栈2的栈顶在下标n-1处。