1.list初始化
list<int>L; //定义一个空的链表
list<int>L(count); //建一个含count个默认值是0的元素的链表
list<int>L(count, num); //建一个含count个默认值是num的元素的链表
list<int>L(L2); //复制L2到L
list<int>L(L2.begin(), L2.end());
int A={1,2,3,4};
list<int>L(A, A+4}; //复制A,A+4到L
2.简单函数应用
L.push_back(i); //将i添加到列表末尾
L.push_front(i); //将i添加到列表表头
L.pop_front(); //删除表头元素
L.pop_back(); //删除表尾元素
L.front(); //返回表头元素
L.back(); //返回表尾元素
L.size(); //返回列表长度
L.empty(); //返回是否为空
L.clear(); //清空列表
L.unique(); //清除L中的重复值
L.reverse(); //列表逆序
L.remove(i); //清除值为i的元素
swap(L,L2); //交换L与L2的元素
L.sort();
L.sort(compare); //按compare定义方式排序
3.列表运算
3.1 advance
list<int>::iterator it=L.begin();
advance(it,n);
将迭代器it移动n位,当n>0时向后移动,n<0时向前移动;
3.2 erase
L.erase(it++);
it=L.erase(it);
删除it指向的元素,it指向列表下一个元素;
3.3 insert
L.insert(it,i);
L.insert(it,n,i); //插入n个元素
在it指向的位置插入一个元素,相当于原来it指向元素及之后元素向后移动一位,完成后it仍指向原来的元素;
3.3 splice
L2.splice(itL2,L,it);
将L列表的it指向的元素移动到L2列表的itL2指向的位置。