栈的基础知识
- 栈(stack)是一种数据结构,在C++中属于STL(标准库)
- 特点:先进后出 
- 栈的使用: - 一、引入头文件<stack>
- 二、创建栈变量(类似容器、集合的创建方式),如stack<int> my_stack;
 
- 一、引入头文件
- stack基础功能: - stack.empty(),判断是否为空栈,是则返回true,否则false
- stack.push(value),压栈,向栈中添加元素
- stack.pop(),弹栈,从栈中移除元素(只能去栈顶元素)
- stack.top(),获取栈顶元素,但不会删除它
- stack.size(),获取栈的长度
- 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章)
- 栈是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现栈的功能,如vector、list、deque等) - 因此,栈不被归类为一种容器,而被归类为一种容器适配器(container adapter)
 
 
 
队列的基础知识
- 队列(queue)是一种数据结构,在C++中属于STL(标准库)
- 特点:先进先出 
- 队列的使用: - 一、引入头文件<queue>
- 二、创建队列变量(类似容器、集合的创建方式),如queue<int> my_queue;
 
- 一、引入头文件
- queue基础功能: - my_queue.empty(),判断是否为空队列,是则返回true,否则false
- my_queue.push(value),向队列末尾添加元素
- my_queue.pop(),从队列中移除元素(只能移除队列首元素)
- my_queue.front(),获取队列首元素,但不会删除它
- my_queue.size(),获取队列的长度
- 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章)
- 队列是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现队列的功能,如vector、list、deque等) - 因此,队列不被归类为一种容器,而被归类为一种容器适配器(container adapter)
 
 
 
