map;
set;
list;
vector;
红黑树插入新数据,会改变红黑树的结构,但是红黑树的存储位置不会发生变化
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
【解析】vector 是一种动态数组,在内存中具有连续的存储空间,支持快速随机访问,由于具有连续的存储空间,所以在插入和删除操作方面,效率比较慢。当 vector 的大小和容量相等(size==capacity)也就是满载时,如果再向其添加元素,那么 vector 就需要扩容。vector 容器扩容的过程需要经历以下 3 步:
1. 完全弃用现有的内存空间,重新申请更大的内存空间;
2. 将旧内存空间中的数据,按原有顺序移动到新的内存空间中;
3. 最后将旧的内存空间释放。
所以 vector 增加成员时可能引起原有成员的存储位置发生改变。
map 和 set 是使用红黑树实现的,增加成员可能会改变红黑树的结构,但是不会改变原有成员的存储位置。
【vector知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp30