stack概述
stack是一种先进后出的数据结构,只有一个出口,允许新增元素、移除元素、获取顶端元素,不可存取其他元素,不支持遍历行为。
以既有容器作为底部结构,改变接口,可形成stack。
stack所有元素满足先进后出条件,不支持遍历,不提供迭代器。
除了deque之外,list也是双向开口的数据结构,stack代码中使用底层容器的函数有empty, size, back, push_back, pop_back,均可以list作为底层容器形成stack。
queue概述
queue是一种先进先出的数据结构,它有两个出口,允许新增元素、移除元素,除了从底端增加元素、获取顶端元素外,不支持遍历行为,不提供迭代器。
以既有容器作为底部结构,改变接口,可形成queue。
由于queue以底部容器完成所有工作,具有此种封装底层容器性质的数据结构统称为adapter配接器,STL queue不可归类为容器container,而应归类为container adapter。