目录
Forward_list
Member functions
List
Elements access
Modifiers
Operations
Observes
Forward_list
-
#include using namespace std;
-
单链表:数据的存储位置是分散的、随机的,整个链表的数据的线性关系通过指针来维持;
-
擅长在序列的任何位置进行元素的插入或删除操作,访问元素效率低;
-
只能从前向后遍历,只提供前向迭代器;
-
存储相同个数的同类型元素,耗用的内存空间更少,空间利用率高。

Member functions
| Name | Roel | Notice |
|---|---|---|
| cbefore_begin | 和 before_begin 功能相同,在原有基础上增加了 const 属性 | before_begin( ) : 返回前向迭代器,指向第一个元素之前的位置 |
| cbegin | 和 begin 功能相同,在原有基础上增加了 const 属性 | begin( ) : 返回前向迭代器,指向第一个元素的位置 |
| cend | 和 end 功能相同,在原有基础上增加了 const 属性 | end( ) : 返回前向迭代器,指向最后一个元素之后的位置 |
| assign | 用新元素替换容器中的原有内容 | |
| emplace_front | 在容器头部生成一个元素,和 push_front 相同,效率更高 | push_front( ) : 容器头部插入一个元素 |
| emplace_after | 和 insert_after 功能相同,但效率更高 | insert_after( ) : 指定位置之后插入一个新元素,并返回一个指向新元素的迭代器 |
| erase_after | 删除容器中某个指定位置或区域内的所有元素 | |
| remove_if | 删除容器中满足条件的元素 | remove(val) : 删除容器中所有等于 val 的元素 |
| merge | 合并两个事先已排好序的容器,且合并之后的容器依然是有序的 | |
| advance | 容器前向单步移动 | 除了使用 ++ 运算符,还可以advance(it, 2); |
List
-
#include; using namespace std;
-
双向链表 :元素存储在连续的列表容器中,封装:链表;
-
动态存储分配,由一系列结点(数据域、指针域)构成;
-
支持对任意位置的插入、删除;
-
支持 ++ / -- 双向访问,不支持 += / -= 随机访问;
-
按顺序访问,遍历速度没有数组快,占用空间比数组大;
-
内存空间是不连续的,通过指针来访问访问数据,
-
List 接口函数介绍。

Elements access
| Name | Role | Notice |
|---|---|---|
| front | 返回第一个元素的引用 | |
| back | 返回最后一个元素的引用 |
Modifiers
| Name | Role | Notice |
|---|---|---|
| assign | 赋值,替换旧元素为列表容器添加新元素 | assign(beg, end) assign(n, elem) |
emplace_front c11 | 列表开头插入新元素,容器大小增加 1(就地构造) | |
| push_front | 列表开头插入新元素,容器大小增加 1 | |
| pop_front | 列表开头删除元素,容器大小减少 1 | |
emplace_back c11 | 列表末尾插入新元素,容器大小增加 1(就地构造) | |
| push_back | 列表末尾插入新元素,容器大小增加 1 | |
| pop_back | 列表末尾删除元素,容器大小减少 1 | |
emplace c11 | 指定位置插入新元素来扩展列表,返回一个指向新插入元素的随机访问迭代器 | |
| insert | 指定位置插入一个或多个元素 | insert(pos,beg,end) |
| erase | 指定位置删除一个元素,返回指向下一参数的随机访问迭代器 | rease(beg, end) erase(pos) |
| swap | 与另一相同类型的列表交换列表的内容 | |
| resize | 重新设置列表大小(尺寸更大则补充,int 默认 0) | resize(num, elem) |
| clear | 删除列表所有元素,使其大小为 0 |
Operations
| Name | Role | Notice |
|---|---|---|
| splice | 部分或全部删除源列表的内容,并插入到目的 list | |
| remove | 从列表中删除与作为函数参数给出的值相对应的所有值 | remove(elem) |
| remove_if | 从列表中删除与谓词或条件相对应的所有值 | |
| unique | 从列表中删除所有连续出现的重复元素 | |
| merge | 以递增的顺序合并两个已排序的列表。compare : 比较器,实现内部比较合并列表。 | merge(list, compare) |
| sort | 按递增顺序排列给定列表的元素(仅在列表中移动) | |
| reverse | 反转列表中元素的顺序 |
Observes
| Name | Role | Notice |
|---|---|---|
| get_allocator | 返回与列表关联的分配器 | 函数不抛出异常 |





![[ 应急响应基础篇 ] 使用 Autoruns 启动项分析工具分析启动项(附Autoruns安装教程)](https://img-blog.csdnimg.cn/6c995927a42a4e7f972f5914e33f2050.png)













