0
点赞
收藏
分享

微信扫一扫

栈与队列在SGI STL的底层实现

栈提供push和pop等接口,不提供走访功能,也不提供迭代器。

STL中栈不被归类为容器,而被归类为container adapter(容器适配器),这是因为栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可以插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。

SGI STL栈的底层实现是用双向队列deque实现的。

当然也指定可以vector为栈的底层实现:

std::stack<int,std::vector<int>> st;

队列

STL中队列也不被归类为容器,而被归类为container adapter(容器适配器)。

SGI STL中队列一样是以deque为缺省情况下的底部结构。

也可以指定list为底层实现:

std::queue<int,std::list<int>> que;


举报

相关推荐

0 条评论