一、基本概念
对数据进行链式存储 ,类似于链表
1.优点:
*动态存储分配,不会造成内存浪费或溢出
*链表执行插入和删除操作十分方便
2.缺点:
*空间和时间额外耗费较大
二、构造函数
1.区间构造
//区间方式构造
list <int>L2(L1.begin(), L1.end());
2.拷贝构造
//拷贝构造
list <int>L3(L2);
3.n个ele
//n个ele
list <int>L4(10, 1000);
三、容器的赋值和交换操作
1.赋值
和之前的容器一样,还是那几种操作(其实构造和赋值差不多的操作)
//operator = 赋值
list <int>L2;
L2 = L1;
print(L2);
list<int>L3;
L3.assign(L2.begin(), L2.end();
list<int>L4;
L4.assign(10, 100);
2.互换
L1.swap(L4);
四、大小操作
1.容量判断
if (L1.empty())
{
cout << "no";
}
else
{
cout << "元素个数为" << L1.size() << endl;
}
2.重新指定大小
//重新指定大小
L1.resize(10, 1000);
print(L1);
L1.resize(2);
print(L1);
注意在 L1.resize(10, 1000); 表示容器容量扩展到10,多的部分由1000填充
而 L1.resize(2) 在容量变为2之后,第三个及之后的数据都要被删除
输出结果如下