List是我们常用的STL标准容器之一,它是一种序列式容器,在数据结构上和双向链表结构类似,List中的数据元素是通过链表指针串连逻辑意义上的线性表,因此,链表的特点是支持元素在任意位置的插入删除,且效率很高。List实际上就是我们数据结构中的双向链表,它的内存是不连续的,通过指针来进行数据访问,这个使得它效率低下,因此它没有提供[]操作符的重载。但是由于链表的特点,他可以很好的效率支持任意地方的删除和插入。
1. List的初始化及销毁
(1). 默认构造函数,长度为0的列表
list<int> lis1;
(2).带有单个整形参数的构造函数,长度为50的列表
list<int> lis2(50);
list<int> lis3(50,1);//长度为50,初始值为1的列表
(3).复制构造函数,构造一个新的列表lis4,作为已存在的列表lis3的完全复制
list<int> lis4(lis3);
(4).带两个常量参数的构造函数,产生初始值为一个区间的向量。区间由一个半开区间[first,last) 来指定
list<int> lis5(lis3.begin(),lis3.end());
由上可以看出:Lsit和Vector的初始化及销毁是一样的
2. Lis