vector与数组区别:
数组是静态空间,而vector可以系统自动动态扩展。
可以吧vector看成 类+模板
动态扩展原理:不是像链表在后面接,而是拷贝到更大的vector容器里面。
解决方法:reserve(int len);//预留len个长度
而vector不会自动收缩,利用resize缩小后,capacity还是不变的
教大家一个实用的技巧
for (auto it = v.begin();it != v.end();it++) { cout << *it; }
这样子连迭代器都不用写了,只要auto。
list:
1动态存储分配,不会造成内存浪费和溢出
2插入和删除操作十分方便
3内存分配和遍历占用时间过多
4List插入和删除都不会造成原有list迭代器的失效
5链表有一个sort成员函数代替algorithm里面的sort
6list容器中不可以通过[]或者at方式访问数据
唉累了,想不起还有啥了,就写到这里吧。