您的位置:首页 > 产品设计 > UI/UE

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

2012-04-22 10:36 316 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: