Loading... ## 简介 序列容器以线性序列的方式储存元素,也即所谓的`线性表`,在创建和插入时,没有对元素进行排序,元素的顺序和存储他们的顺序相同。 **常见的函数成员**: | 函数成员 | 作用 | | - | - | | begin() | 返回开始迭代器 | | end() | 返回结束迭代器 | | assign() | 用一定长度的新元素替换原有内容 | | size() | 返回实际元素个数 | | capacity() | 返回当前容量 | | empty() | 如果没有元素返回true | | resize() | 改变实际元素个数,如果大于当前元素个数,缺位补0 | | front() | 返回第一个元素的引用 | | back() | 返回最后一个元素的引用 | | operator[]() | 使用索引访问元素,顺序储存结构特有 | | at() | 经过边界检查的索引访问元素,顺序储存结构特有 | | push_back() | 在序列尾部添加一个元素 | | insert() | 在指定位置插入一个或多个元素 | | pop_back() | 在序列尾部弹出一个元素 | | erase() | 移除指定位置的一个元素或一段元素 ,容器大小减小 | | clear() | 移除所有元素,并容器大小减为0 | | swap() | 交换两个容器的所有元素 | | emplace() | 就地在指定位置生成(插入)一个元素 | | emplace_back() | 就地在序列尾部生成一个元素 | ## 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>`差不多。 最后修改:2020 年 08 月 06 日 02 : 36 PM © 允许规范转载