简介
序列容器以线性序列的方式储存元素,也即所谓的线性表
,在创建和插入时,没有对元素进行排序,元素的顺序和存储他们的顺序相同。
常见的函数成员:
array<T,N> 数组容器
头文件:#include <array>
特点:一个长度固定的序列,不能增加或删除元素。
元素组织形式:顺序储存
特别函数 | 作用 |
---|---|
data() | 返回包含元素的内部数组的指针 |
vector <T> 向量容器
头文件:#include <vector>
特点:一个长度可变的序列,必要时可以自动增加容量,但只能在序列的末尾高效的增加和删除元素。减小容器的大小不会改变容器的容量。
元素组织形式:顺序储存
特别函数 | 作用 |
---|---|
shrink_to_fit() | 将容器容量缩减为容器实际大小一样 |
data() | 返回包含元素的内部数组的指针 |
deque<T> 双向队列容器
头文件:#include <deque>
特点:一个长度可变,可以自动增长的序列,在序列的两端都可以高效的增加和删除元素。
元素组织形式:顺序储存
特别函数 | 作用 |
---|---|
shrink_to_fit() | 将容器容量缩减为容器实际大小一样 |
list<T> 链表容器
头文件:#include <list>
特点:一个长度可变的序列,它以双向链表的形式组织元素。在序列的任何地方都可以高效的增加和删除元素。访问容器任意元素的速度要比前三种容器慢。
元素组织形式:双向链表
特别函数 | 作用 |
---|---|
reverse() | 反向元素的排列顺序 |
remove() | 移除所有和参数匹配的元素 |
remove_if() | 移除满足一元函数条件的所有元素 |
unique() | 移除所有连续重复的元素 |
sort() | 对元素进行排序 |
merge() | 合并两个有序容器 |
forward_list<T> 正向链表容器
头文件:#include <forward_list>
特点:一种长度可变的序列,它比链表容器快、更节省内存的容器,但内部的元素只能从第一个元素开始访问。
元素组织形式:单链表
特别函数和list<T>
差不多。