C++ | 六、栈 Stack、队列 Queue
发布时间:2024年01月23日
栈的基础知识
- 栈(stack)是一种数据结构,在C++中属于STL(标准库)
- 特点:先进后出
- 栈的使用:
- 一、引入头文件
<stack>
- 二、创建栈变量(类似容器、集合的创建方式),如
stack<int> my_stack;
- stack基础功能:
stack.empty()
,判断是否为空栈,是则返回true,否则falsestack.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,否则falsemy_queue.push(value)
,向队列末尾添加元素my_queue.pop()
,从队列中移除元素(只能移除队列首元素)my_queue.front()
,获取队列首元素,但不会删除它my_queue.size()
,获取队列的长度- 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章)
- 队列是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现队列的功能,如vector、list、deque等)
- 因此,队列不被归类为一种容器,而被归类为一种容器适配器(container adapter)
文章来源:https://blog.csdn.net/weixin_45055622/article/details/135775447
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!