一、配接器和容器的區別
適配器是以容器爲底層接口封裝的,比如stack和queue都是配接器,因爲他們都是在deque或者list容器的基礎上,進一步封裝,形成自己的特性。而deque和list則是完全不依靠其他容器,自己獨立實現的。
二、stack
stack特徵:先進後出,並且只有一個出口,並且無法遍歷數據結構中的元素。結構類似下圖:
- stack默認是用deque實現的(也可以使用list),也就是堵住deque的一端。
- stack沒有迭代器,因爲stack無法遍歷元素
- stack只有新增元素,拿出頂端元素等簡單操作。
三、queue
queue特徵:先進先出,只能從一端進一端出,同樣無法遍歷元素,結構類似下圖:
- stack默認是用deque實現的(也可以使用list),也就是堵住deque的一端的插入,堵住另一端的取出。
- stack沒有迭代器,因爲stack無法遍歷元素。