STL中的链表是一个双向循环链表
#include <list>
定义及初始化
list<int> a(10); // 定义一个int类型的列表a,并设置初始大小为10
list<int> a(10, 1); // 定义一个int类型的列表a,并设置初始大小为10且初始值都为1
1 容量函数
容器大小:lst.size();
更改容器大小:lst.resize();
容器判空:lst.empty();
2 添加函数
头部添加元素:lst.push_front(const T& x);
末尾添加元素:lst.push_back(const T& x);
任意位置插入一个元素:lst.insert(iterator it, const T& x);
3 删除函数
头部删除元素:lst.pop_front();
末尾删除元素:lst.pop_back();
任意位置删除一个元素:lst.erase(iterator it);
清空所有元素:lst.clear();
4 访问函数
访问第一个元素:lst.front();
访问最后一个元素:lst.back();
遍历元素
list<int>::iterator it;
for (it = lst.begin(); it != lst.end(); it++)
cout << *it << endl;
元素翻转
reverse(lst.begin(), lst.end());
元素排序
sort(lst.begin(), lst.end()); // 采用的是从小到大的排序
list 与 vector、deque 的用法基本一致
https://www.cnblogs.com/linuxAndMcu/p/10260627.html