一、容器
容器是用来管理同一类对象的集合
基本特征
表达式 | 返回类型 | 说明 | 复杂度 |
---|---|---|---|
X::iterator | 指向T的迭代器类型 | 满足正向迭代器要求的任何迭代器 | 编译时间 |
X u | 创建一个名为u的空容器 | O(1) | |
X u(a) | 初始化构造时拷贝 | O(n) | |
a.begin() | 迭代器 | 返回指向容器第一个元素的迭代器 | O(1) |
a.end() | 迭代器 | 返回指末尾元素的迭代器 | O(1) |
a.size() | 无符号整型 | 返回元素个数 | O(1) |
a.swap(b) | void | 交换ab | O(n) |
二、顺序容器
各元素之间有顺序关系的线性表,每个元素均有固定的位置,除非用删除或插入的操作改变这个位置。
vector在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储。当重新分配空间时需要申请一块更大的内存块-将原来的数据拷贝到新的内存块中-销毁掉原内存块中的对象-将原来的内存空间释放掉
list线性链表结构,每一个节点都包括一个信息块、一个前驱指针和一个后驱指针
<