STL stack和queue适配器
一、配接器和容器的区别
适配器是以容器为底层接口封装的,比如stack和queue都是配接器,因为他们都是在deque或者list容器的基础上,进一步封装,形成自己的特性。而deque和list则是完全不依靠其他容器,自己独立实现的。
二、stack
stack特征:先进后出,并且只有一个出口,并且无法遍历数据结构中的元素。结构类似下图:
- stack默认是用deque实现的(也可以使用list),也就是堵住deque的一端。
- stack没有迭代器,因为stack无法遍历元素
- stack只有新增元素,拿出顶端元素等简单操作。
三、queue
queue特征:先进先出,只能从一端进一端出,同样无法遍历元素,结构类似下图:
- stack默认是用deque实现的(也可以使用list),也就是堵住deque的一端的插入,堵住另一端的取出。
- stack没有迭代器,因为stack无法遍历元素。