vector和list总结

vector与数组区别:

数组是静态空间,而vector可以系统自动动态扩展。

可以吧vector看成 类+模板

动态扩展原理:不是像链表在后面接,而是拷贝到更大的vector容器里面。

解决方法:reserve(int len);//预留len个长度

而vector不会自动收缩,利用resize缩小后,capacity还是不变的

 

vector和list总结

 

 

教大家一个实用的技巧

for (auto it = v.begin();it != v.end();it++)
    {
        cout << *it;
    }

这样子连迭代器都不用写了,只要auto。

 

list:

1动态存储分配,不会造成内存浪费和溢出

2插入和删除操作十分方便

3内存分配和遍历占用时间过多

4List插入和删除都不会造成原有list迭代器的失效

5链表有一个sort成员函数代替algorithm里面的sort

6list容器中不可以通过[]或者at方式访问数据

 

 

唉累了,想不起还有啥了,就写到这里吧。

上一篇:应用css样式美化网页


下一篇:C++20新特性