请大家回答:stack是标准容器吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请大家回答:stack是标准容器吗?相关的知识,希望对你有一定的参考价值。
请大家回答:stack是标准容器吗?
只要说出是不是,不需要说stack是容器适配器!
谢谢!
它的底层可以是任意的符合条件的数据结构。默认的是vector,还可以指定list或deque
虽然C++98中归到了containers一章,但我个人觉得不能称之为容器(container),毕竟23.2.3一节的题目也是container adptor 参考技术A 是的。
只是这个容器也可以被称为适配器本回答被提问者采纳 参考技术B 是的
参见 iso14882
23.2 Sequence containers
Headers <array>, <deque>, <list>, <queue>, <stack>, and <vector>. 参考技术C 不是!
标准模板库中的栈(stack)
////C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>>
STL中的通用栈类实现为容器适配器:使用以指定方式运行的容器。栈容器不是重新创建的,它只是对已有容器做适当的调整。默认情况下,deque是底层容器,但是用户可以用下面的声明选择链表或向量:
stack<int> stack1; //默认为双端队列
stack<int,vector<int>> stack2; //向量
stack<int,list<int>> stack3; //链表
stack() 创建一个空栈
bool empty() const 如果栈为空,则返回true,否则返回false
void pop() 删除栈的栈顶元素
void push(const T& el) 将el插入栈的顶端
size_type size() const 返回栈中元素的数目
T&top() 返回栈顶元素
const T& top() const 返回栈顶元素
返回 C++ STL
以上是关于请大家回答:stack是标准容器吗?的主要内容,如果未能解决你的问题,请参考以下文章