一. 概述
List容器实际上是双向循环链表,它的内存空间是不连续的,因此不能够快速随机存取,效率相对于vector和deque等容器低了点,同样不支持对迭代器进行+n,-n的操作。
list的每个结点都包括三个域:前驱元素指针域,数据域,后去元素指针域。因此添加和删除的操作在list中效率很高。
二. 常用的函数
#include<iostream>
#include<string>
#include<algorithm>
#include<list>
int main()
{
std::list<int> a; //创建一个空的list容器
std::list<int> a(10,100); //创建一个list容器,其中包含10个元素,赋值为100
std::list<int> b(a); //拷贝a到b
a.push_back(1); //在尾部插入数字1
a.push_front(1); //在头部插入数字1
a.pop_back(); //删除尾部的元素
a.pop_front(); //删除头部的元素
a.empty(); //判断容器是否为空
a.clear(); //清空整个容器
a.insert(++a.begin(), 2); //在指定位置插入元素
a.sort(); //排序(默认是升序)
return 0;
}