STL源码剖析学习七:stack和queue

STL源码剖析学习七:stack和queue

 

stack是一种先进后出的数据结构,只有一个出口。
允许新增、删除、获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为。

缺省情况下用deque作为stack的底部结构,将其接口改变,封住一端就可以形成stack


接口:
empty()
size()
top()
push()
pop()
operator==
operator<


由于stack以底部容器完成所有工作,成为adapter(配接器),不算做容器,叫做容器配接器
stack不需要遍历,因此没有迭代器

把list作为stack的底层容器
stack<int,list<int>> istack;
其余操作相同。

 

 


queue是一种先进先出的数据结构,有两个出口,最底端可以加入,最顶端可以取出外,没有任何其他方

法可以获得其他元素。不允许有遍历行为。也不提供迭代器


接口:
empty()
size()
front()
back()
push()
pop()
operator==
operator<


同样用deque作为queue的底部实现,同样是容器配接器。
也可以用其他容器作为queue的底部实现
queue<int, list<int>> iqueue

posted @ 2012-04-22 10:36  w0w0  阅读(204)  评论(0编辑  收藏  举报