1. list 的介绍
① STL::list 的底层实现是带头双向循环链表结构。
② list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。
③ 双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。
2. list 的使用
2.1 list 的构造
| 构造函数 | 接口说明 |
|---|---|
list(size_t n , const T& val = T()) | 构造的 list 中包含 n 个值为 val 的元素 |
list() | 构造空的 list |
list(const list& x) | 拷贝构造函数 |
list(InputIterator first ,InputIterator last) | 用 [first, last) 区间中的元素构造 list |
int main() {
list<int> lt1; // 构造空的 lt1
list<int> lt2(4, 100); // lt2 中放 4 个值为 100 的元素
list<int> lt3(lt2.begin(), lt2.end()); // 用 lt2 的 [begin(), end())左闭右开的区间构造 lt3
list<int> lt4(lt3); // 用 lt3 拷贝构造 lt4
return 0;
}
2.2 list iterator 的使用
注意:list 的迭代器的底层是链表的节点,其访问链表中的数据,是通过操作符重载的方式来进行实现的。







