首页 > 试题广场 >

简述 vector 的实现原理

1. 动态数组 2. 内存中具有连续的存储空间,支持快速随机访问,在除了末端的删除较慢。 3.size==capacity时需要扩容, 1. 完全弃用现有的内存空间,重新申请更大的内存空间; 2. 将旧内存空间中的数据,按原有顺序移动到新的内存空间中; 3. 最后将旧的内存空间释放。 vector 扩容是非常耗时的。为了降低再次分配内存空间时的成本,每次扩容时 vector 都会申请比用户需求量更多的内存空间(这也就是 vector 容量的由来,即 capacity>=size),以便后期使用
发表于 2022-10-05 10:06:49 回复(0)
1. vector:抽象成一个动态数组,支持随机访问、自动扩容。 2. 实现原理: =》 底层是数组的存储结构; =》如果满载,需要扩容(申请更大的空间(两倍)== 复制(转移)数据==释放旧空间)
发表于 2023-11-11 11:45:55 回复(0)
vector是一种动态数组,在内存中具有连续的内存空间,支持快速随机访问,但是插入和删除效率比较低。vector的扩容很耗时,所以为了降低再次分配内存的成本,每次扩容vector都会申请比用户需求量更多的内存空间
发表于 2024-04-08 19:41:48 回复(0)
1.底层是动态数组,支持随机访问,对元素的增删耗时很大。 2.一般申请的内存大小是固定的,如果内存大小不够元素存储的时候,就会进行一次扩容,申请一个更大的内存空间。
发表于 2023-09-13 18:40:43 回复(0)