3.2 序列式容器
2025年09月26日
3.2 序列式容器
对于基本容器,程序员可以通过增加条件来对其进行改进。序列就是一种重要的改进。deque、list、queue、priority_queue、stack和vector这六种容器均为序列式容器。序列最重要的特点是可以在首端删除元素,在尾端添加元素。尤其是双向序列,它允许在两端添加和删除元素。序列中应该包含至少一种迭代器,从而保证元素按特定的顺序排列,而不会在两次迭代间发生变化。
数组和链表均是序列,但分支结构不是序列。序列中的元素具有确定顺序,使用时可以执行将元素插入至特定位置、删除特定元素、删除某范围内的所有元素等操作。C++ STL提供的基本序列式容器包括vector、listdeque;同时还包括三个适配器stack、queue和priori-ty_queue。
vector、list和deque三种序列不可能既互相实现,又不损失效率。另一方面,stack和queue都可以在这三种基本序列式容器的基础上高效实现。3.4节将详述适配器的相关内容。
在使用vector、list、deque这三种容器时,需要分别包含相应的头文件。前面讲过,容器都是类模板,要定义或实现某种特定的容器对象,必须在容器名后加1对尖括号,括号中提供容器中所存放元素的数据类型。
下面分小节逐一阐述这三种序列式容器。