STL源码剖析之stack,queue容器【2013.11.25】


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 【IT】C/C++/STL/Linux/W


 STL源码剖析之Stack,queue容器【2013.11.25】


SGI STL中 stack和queue 不是严格的容器,而只能算是一种应用与容器的配接器(配接器可以分为容器配接器,迭代器配接器,仿函数配接器)


stackqueue底层 默认使用的容器都是 deque,只是把deque的部分功能屏蔽,使用部分功能,实现更具体的容器类型。


stack:栈,实现先进后出的,单端插入删除

queue:队列,实现先进先出,一端插入,一端删除


stack和queue是一种配接器实现,那么就可以指定自己的容器来实现。条件是需要实现stack或queue使用的接口,如

STL源码剖析之stack,queue容器【2013.11.25】_第1张图片

根据stack内部实现调用到的容器接口,对应实现功能。就可以做到用自己的容器配接出stack或queue了

如List是符合配接成stack的容器,那么就可以指定LIST作为STACK的底层容器了,代码如下:

STL源码剖析之stack,queue容器【2013.11.25】_第2张图片


【1】因为stack和queue没有遍历 搜索功能,所以他们没有迭代器

【2】没有迭代器,也只有pop的时候用对应元素类型接收。

【3】没有迭代器,也没有迭代器失效问题


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 【IT】C/C++/STL/Linux/W


你可能感兴趣的:(C++,源码,Queue,stack,STL)