目录
- 栈
- 栈的逻辑结构
- 基于逻辑结构的特性
- 栈的底层实现
- 队列
- 队列的逻辑结构
- 基于逻辑结构的特性
- 队列的底层实现
- 总结
栈
栈的逻辑结构
栈是一种先入后出的结构。
基于逻辑结构的特性
- 栈中的元素必须遵循先入后出的规则,因此栈提供pop()、push()接口进行对元素的操作。
- 栈中元素必须遵循先入后出的规则,因此不能自由访问元素、不能遍历、不提供迭代器。
栈的底层实现
- 栈是STL(C++标准库)里的数据结构,不同的STL版本中栈的实现原理不同。
- 栈是以底层容器(底层实现)完成其所有操作,对外提供统一的接口。
- 栈的底层底层实现主要是数组和链表。
队列
队列的逻辑结构
队列是一种先入先出的结构。
基于逻辑结构的特性
- 队列中的元素必须遵循先入先出的规则,因此队列提供pop()、push()接口进行对元素的操作。
- 队列中元素必须遵循先入先出的规则,因此不能自由访问元素、不能遍历、不提供迭代器。
队列的底层实现
- 队列是STL(C++标准库)里的数据结构,不同的STL版本中队列的实现原理不同。
- 队列是以底层容器(底层实现)完成其所有操作,对外提供统一的接口。
- 队列的底层底层实现主要是数组和链表。
总结
- 栈与队列的逻辑结构决定了它们的操作规则。
- 栈与队列都是线性结构(逻辑),因此用来对它们进行底层实现的数据结构也多是线性结构。