1. list容器基本概念
![](https://img-blog.csdnimg.cn/6d46e1fa061f46259f09d4e1161fea9a.jpeg)
![](https://img-blog.csdnimg.cn/f9e463b575304c39ab47db695097ed50.jpeg)
循环迭代器,链表的末尾指向链表的链头,链表的链头指向链表的链尾。
链表迭代器支持前移和后移,也就是说支持++和--操作,但不支持 +n 和 -n 操作(不支持随机访问)。
![](https://img-blog.csdnimg.cn/75038586005249daa54ee0e832c8064d.jpeg)
2. 链表构造函数
![](https://img-blog.csdnimg.cn/fa0efad0853f4541bce3766928b6fe09.jpeg)
3. 赋值和交换
![](https://img-blog.csdnimg.cn/103d57f5bcda43728ca4e9a3347f7b73.jpeg)
4. 大小操作
![](https://img-blog.csdnimg.cn/3a8a86b365034cb88a4d09b15ece407f.jpeg)
5. 插入和删除
![](https://img-blog.csdnimg.cn/69dd95577ca94d63bec41583698b8e5b.jpeg)
6. 数据存取
![](https://img-blog.csdnimg.cn/7dd3ae986fe94e61b4b3b4389781e874.jpeg)
list链表不是连续的线性空间存储数据,因此迭代器是不支持随机访问的,因此不能用 [ ] 和 at 进行访问数据。
7. 反转和排序
![](https://img-blog.csdnimg.cn/835ab679d0474934898b772af64f3d0a.jpeg)
sort()默认升序排序
//链表降序排序实现方法
void MyCompare(int v1, int v2)
{
return v1>v2;
}
v.sort(MyCompare); //就可以实现降序排序了
P.S.所有不支持随机访问迭代器的容器,均不可以使用标准算法。但是在这些不支持随机访问的容器中,内部会提供一些对应算法。