vector是序列容器,内存分配时占用连续空间,因为采用的是随机迭代器,所以得到某一位置的值非常快 但是插入和删除比较慢,因为涉及到大块内存的赋值粘贴.
list也是容器,但是内存分配是零散的,采用的是双向迭代器,得到某一位置的值并不快,但插入和删除 效率很高.
map底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错, 只是每次插入值的时候,会重新构成底层的平衡二叉树,效率有一定影响.
本文详细对比了vector、list和map三种容器的特点:vector适用于频繁访问元素而较少改变结构的场景;list在元素插入和删除上有优势;map则适用于快速查找且不频繁变动的场景。
vector是序列容器,内存分配时占用连续空间,因为采用的是随机迭代器,所以得到某一位置的值非常快 但是插入和删除比较慢,因为涉及到大块内存的赋值粘贴.
list也是容器,但是内存分配是零散的,采用的是双向迭代器,得到某一位置的值并不快,但插入和删除 效率很高.
map底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错, 只是每次插入值的时候,会重新构成底层的平衡二叉树,效率有一定影响.
2261
124

被折叠的 条评论
为什么被折叠?