菜鸟笔记
提升您的技术认知

C++ List(列表)

阅读 : 59

List是连续的容器,而vector是不连续的容器,即list将元素存储在连续的存储器中,而vector存储在不连续的存储器中。
在Vector中间插入和删除非常昂贵,因为转移所有元素需要花费大量时间。链接List克服了这个问题,可以使用List容器来实现。
List支持双向,并为插入和删除操作提供了一种有效的方法。
List中的遍历速度很慢,因为List元素是按顺序访问的,而vector支持随机访问。

List模板

#include
#include
using namespace std;
int main()
{
   list l;
}
它将创建一个空的整数类型值List。   List也可以使用参数来初始化。    
#include
#include
using namespace std;
int main()
{
   list l{1,2,3,4};
}
List可以通过两种方式初始化。    
list  new_list{1,2,3,4};
or
list new_list = {1,2,3,4};

C++List函数

以下是List的成员函数:

方法 说明
insert() 它将新元素插入到迭代器指向的位置之前。
push_back() 它在Vector的末尾添加了一个新元素。
push_front() 它在前面添加了一个新元素。
pop_back() 它将删除last元素。
pop_front() 它将删除第一个元素。
empty() 它检查List是否为空。
size() 它找到List中存在的元素数。
max_size() 它找到List的最大大小。
front() 它返回List的第一个元素。
back() 它返回List的last元素。
swap() 当两个List的类型相同时,它将交换两个List。
reverse() 它将反转List的元素。
sort() 它以递增的顺序对List中的元素进行排序。
merge() 它合并两个排序的List。
splice() 它将新List插入到调用List中。
unique() 它从List中删除所有重复的元素。
resize() 它将更改List容器的大小。
assign() 它将新元素分配给List容器。
emplace() 它将在指定位置插入一个新元素。
emplace_back() 它将在Vector的末尾插入一个新元素。
emplace_front() 它将在List的开头插入一个新元素。