C++容器适配器(stack)是怎么实现的?

我知道C++的顺序容器有vector、list、deque。问题1:vector和list分别是采用顺序存储(便于随机访问)和链式存储(便于增删结点)实现的线性表吧?de... 我知道C++的顺序容器有vector、list、deque。
问题1:vector和list分别是采用顺序存储(便于随机访问)和链式存储(便于增删结点)实现的线性表吧?deque是双端队列,双端队列只是一个操作受限的线性表,那么deque是采用顺序存储还是链式存储实现呢?

C++ Primer上面说道:容器适配器让一种已存在的容器类型采用另一种不同的抽象类型的工作方式实现。
问题2:stack是一个容器适配器,默认的stack是基于deque实现的,但是可以显式的让其用vector或list实现,现在我想知道的是stack是怎么实现的
class stack:public deque{
......
void push(T item);
void pop();
void peek();
}
其中push(),pop(),peek() 都是stack自己添加的成员函数,并且stack没有将deque的public成员函数隐藏,是吗?
但是还能基于vector和list实现stack,是怎么回事?是用多重继承实现的吗?我很不明白啊~
可惜没有财富值了
展开
 我来答
白天才痴1988
2012-10-03 · TA获得超过569个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:188万
展开全部
看一下侯杰的stl源码剖析吧,网上很好下。我也没仔细看过stack
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式