list
注:
- *标记的为c++11新特性,构造函数默认为c++11
- 函数原型省略了一些细节,只展示实际需要填写的情况(分配器已经隐藏了,需要可以去c++reference查看)
- 参数栏表示传入的两个参数的意义而不是类型
- 返回值栏表示类型而不是意义
- 粉红色表示为c++11新特性
构造函数
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
构造函数 | explicit list (const allocator_type& alloc = allocator_type()); | 构造器alloc | default | 创建一个list |
构造函数 | explicit list (size_type n, const value_type& val = value_type(),const allocator_type& alloc = allocator_type()); | 容量n,值val,构造器alloc | default | 创建一个容量为n,值为val的list |
构造函数 | list (InputIterator first, InputIterator last,const allocator_type& alloc = allocator_type()); | 一个表示开始迭代器fitst,一个表示结束的last,构造器alloc | default | 创建一个list,内容与first与last之间的内容相同 |
构造函数 | list (const list& x); | 一个list x | default | 创建一个list,内容与list相同 |
析构函数 | N/A | N/A | N/A | 销毁容器 |
重载= | list& operator= (const list& x); | 一个list的引用x | list的引用 | 将x的值赋给容器 |
迭代器方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
begin | iterator begin() noexcept; | 无 | 迭代器 | 返回指向第一个元素的迭代器 |
begin | const_iterator begin() const noexcept; | 无 | 迭代器 | 返回指向第一个元素的迭代器 |
end | iterator end() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向最后一个元素的下一个位置 |
end | const_iterator end() const noexcept; | 无 | 迭代器 | 返回一个迭代器,指向最后一个元素的下一个位置 |
rbegin | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个反向迭代器,指向最后一个元素 |
rend | reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个迭代器,指向第一个元素的前一个位置 |
cbegin | const_iterator cbegin() const noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向首个元素 |
cend | const_iterator end() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向最后一个元素的下一个位置 |
crbegin | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量反向迭代器,指向最后一个元素 |
crend | const_ reverse_iterator rbegin() noexcept; | 无 | 迭代器 | 返回一个常量迭代器,指向第一个元素的前一个位置 |
容量方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
size | constexpr size_type size() noexcept; | 无 | 非负整数 | 返回容器的元素的数量 |
max_size | constexpr size_type max_size() noexcept; | 无 | 非负整数 | 返回容器所能容纳的最大的元素的数量 |
empty | constexpr bool empty() noexcept; | 无 | bool | 返回是否为空 |
元素访问方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
front | reference front(); | 无 | 对应元素的引用 | 返回第一个元素的引用 |
front | const_reference front() const; | 无 | 对应元素的引用 | 返回第一个元素的引用 |
back | reference back(); | 无 | 对应元素的引用 | 返回最后一个元素的引用 |
back | const_reference back() const; | 无 | 对应元素的引用 | 返回最后一个元素的引用 |
编辑方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
assign | void assign (InputIterator first, InputIterator last); | 一个表示开始迭代器fitst,一个表示结束的last | 无 | 将两个迭代器中间的内容分配给容器,替换其当前内容,并相应地修改其大小。 |
assign | void assign (size_type n, const value_type& val); | 容器大小n,容器的值val | 无 | 将容器中的内容替换为n个val,并相应地修改其大小。 |
emplace_front | void emplace_front (Args&&... args); | 参数…… | 无 | 在容器前面构造性的插入参数 |
push_front | void push_front (const value_type& val); | 值val | 无 | 在容器前面插入一个元素val |
pop_front | void pop_front(); | 无 | 无 | 弹出容器第一个元素 |
emplace_back | void emplace_back (Args&&... args); | 参数…… | 无 | 在容器后面构造性的插入参数 |
push_back | void push_back (const value_type& val); | 值val | 无 | 在容器后面插入一个元素val |
pop_back | void pop_back(); | 无 | 无 | 弹出容器最后元素 |
emplace | iterator emplace (const_iterator position, Args&&... args); | 一个表示位置迭代器,参数…… | 一个迭代器 | 在迭代器对应的位置后面构造性的插入参数,并返回插入后的最后一个元素的迭代器 |
erase | iterator erase (iterator position); | 一个表示位置迭代器 | 一个迭代器 | 移除对应迭代器位置的元素 |
erase | iterator erase (iterator first, iterator last); | 一个表示开始迭代器fitst,一个表示结束的last | 一个迭代器 | 移除开始迭代器与结束迭代器之间的元素 |
swap | void swap (list& x); | 一个list的引用x | 无 | 通过x的内容交换容器的内容 |
resize | void resize (size_type n, value_type val = value_type()); | 容器大小n | 无 | 将容器的大小重定义为n |
clear | void clear(); | 无 | 无 | 清空容器 |
操作方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
splice | void splice (iterator position, list& x); | 表示位置的迭代器,一个list的引用x | 无 | 将元素从x转移到容器中,并将其插入position指向位置 |
splice | void splice (iterator position, list& x, iterator i); | 表示位置的迭代器,一个list的引用x,迭代器i | 无 | 将元素从x转移到容器中,并将其i位置的元素插入position位置 |
splice | void splice (iterator position, list& x, iterator first, iterator last); | 表示位置的迭代器,一个list的引用x,表示开始迭代器first,表示结束迭代器last | 无 | 将元素从x转移到容器中,并将其first至last之间的值插入position位置。 |
remove | void remove (const value_type& val); | 值val | 无 | 从容器中移除所有等于val的元素 |
remove_if | void remove_if (Predicate pred); | 判断逻辑 | 无 | 从容器中移除所有等于pred判断为true的的元素 |
unique | void unique(); | 无 | 无 | 删除容器中重复的元素(只有当元素与紧靠它前面的元素进行比较时,才会从列表容器中删除该元素。) |
unique | void unique (BinaryPredicate binary_pred); | 判断逻辑binary_pred | 无 | 删除容器中符合判断语句 |
merge | void merge (list& x); | 一个list的引用x | 无 | 将一个(有序的)按照顺序合并到(有序的)容器中 |
merge | void merge (list& x, Compare comp); | 一个list的引用x与比较方法 | 无 | 将一个(有序的)按照(自定义的)顺序合并到(有序的)容器中 |
sort | void sort(); | 无 | 无 | 排序 |
sort | void sort (Compare comp); | 一个比较方法 | 无 | 按照comp排序 |
reverse | void reverse(); | 无 | 无 | 反转list |
观测方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
get_allocator | allocator_type get_allocator() const; | 无 | 分配器 | 返回与列表容器关联的分配器的拷贝 |