目录:
list的概述
list (双端链表)
list不能随机存取元素,所以不支持at.(position)函数和[]操作符,可以对其迭代器执行++操作,
因为它不是连续的空间,所以不能这样操作迭代器(例如:it+2或it+3)
vector的内存空间是预先分配的,所以有capacity
list没有提前分配空间,所以它并没有capacity方法
使用时需包含头文件与命名空间:
include <list>
using namespace std;
一.list 对象的构造
//list 对象的默认构造
list<int> lInt; //定义一个存放int类型的list容器
list<float> lFloat; //定义一个存放float类型的list容器
list<string> lString; //定义一个存放string类型的list容器
list<student> lStu; //定义一个存放自定义类类型的list容器
list<int*> listInt; //定义一个存放int指针类型的list容器
//list 对象的带参构造
list<int> lInt1(10); //将元素个数定义为10,值全默认为0
list<int> lInt2(10, 5); //将元素个数定义为10,值全为5
list<int> lInt3(lInt2.begin(),lInt.end()); //将lInt2里[begin end)区间的元素拷贝给lInt3
list<int> lInt4(lInt1); //将lInt1里所有的元素拷贝给lInt3
二.list 头部尾部添加和移除操作
list<int> lInt;
//push_front头部添加
lInt.push_front(1); //头部添元素,值为1
lInt.push_front(2); //头部添元素,值为2
//push_back尾部添加
lInt.push_back(3); //尾部添元素,值为3
lInt.push_back(4); //尾部添元素,值为4
//pop_front头部移除
lInt.pop_front(); //移除头部元素,也就是2
lInt.pop_front(); //移除头部元素,也就是1
//pop_back尾部移除
lInt.pop_back(); //移除尾部元素,也就是4
lInt.pop_back(); //移除尾部元素,也就是3
三.list 数据存取
list<int> lInt;
lInt.push_back(1);
lInt.</