C++ 链表(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<int> new_list{1,2,3,4}; 
或者 
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()在链表的开头插入一个新元素。

标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言进阶教程, C++语言高级教程, C++语言面试题, C++语言笔试题, C++语言编程思想