C++ List列表

C++ List列表

  • List是一个连续的容器,而vector是一个不连续的容器,即list将元素存储在连续的内存中,而vector则存储在不连续的内存中。
  • 在vector的中间插入和删除是非常昂贵的,因为它需要花费很多时间来移动所有的元素。链表解决了这个问题,并且是使用list容器来实现的。
  • List支持双向运动,并提供了高效的插入和删除操作。
  • 在list中遍历较慢,因为list元素是按顺序访问的,而vector支持随机访问。

List的模板

#include<iostream>
#include<list>
using namespace std;
int main()
{
   list<int> l;
}

它创建了一个空的整数类型的值列表。

列表也可以用参数进行初始化。

#include<iostream>
#include<list>
using namespace std;
int main()
{
   list<int> l{1,2,3,4};
}

List可以通过两种方式进行初始化。

list<int>  new_list{1,2,3,4};
or
list<int> new_list = {1,2,3,4};

C++列表函数

下面是列表的成员函数:

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程