由于 list 对象的结点并不要求在一段连续的内存中,所以对于迭代器,只能通过“++”或“–”的操作将迭代器移动到后继/前驱节点处,而不能通过对迭代器进行+n或-n的操作
优点:插入删除快,排序跟数组一样快
缺点:查找速度太慢
#include <list>
初始化:
list<int>a{1,2,3}
list<int>a(n) //声明一个n个元素的列表,每个元素都是0
list<int>a(n, m) //声明一个n个元素的列表,每个元素都是m
l.push_back(11);
l.push_back(22);
l.insert(l.begin(),33);
// 在指针位置添加元素,其他的后移一位添加数据
/*
33
11
22
*/
// 头插
list.push_front(44)
// 删除元素
list.erase(iter);
// 排序
list.sort(cmp);
for (list<int>::iterator it=lstInt.begin(); it != listOne.end(); ++it)
cout << *it << ""<<endl;
// list因为是指针,所以是*list