蓝桥杯4天冲刺5
上一篇提到了vector,不由得联想到Java中学到的List
因此做一个对比——
# vector底层实现是数组;list是双向 链表
# vector支持随机访问,list不支持
# vector是顺序内存,list不是
# vector在中间节点进行插入删除会导致内存拷贝,list不会
# vector一次性分配好内存,不够时才进行2倍扩容;list每次插入新节点都会进行内存申请
# vector随机访问性能好,插入删除性能差;list随机访问性能差,插入删除性能好
原因——
vector拥有一段连续的内存空间,因此支持随机访问
list拥有一段不连续的内存空间
不过需要强调的一点是,C++中的list似乎和Java中的List有所不同
查了查攻略但目前还没有分辨太清