一、vector和list的区别?
1.vector底层实现是数组,list是双向链表
2.vector支持随机访问,list不支持
3.vector是顺序内存,list不是
4.vector在中间节点进行插入数据会导致内存拷贝,list不会
5.vector一次性分配好内存,不够时才进行2倍扩充,list每次插入新节点都会进行内存扩充
6.vector插入删除性能差,list插入删除性能好
二、应用
1.vector
vector拥有一段连续的内存空间,因此支持随机访问,如果需要高效的随机访问,而不在乎插入和删除的效率,使用vector。
2.list
list拥有不连续的内存空间,如果需要高效的插入和删除,而不在乎随机访问,则应使用list