unordered_map和vector区别
时间: 2023-10-17 18:25:45 浏览: 96
unordered_map_
unordered_map和vector有以下几点区别:
1. 数据结构:unordered_map是关联容器,它存储的是键值对(key-value pair),其中的每个元素都有一个唯一的键(key)和一个对应的值(value)。而vector是顺序容器,它存储的是一组连续的元素。
2. 元素访问:在unordered_map中,元素可以通过键来访问,即使用occur[x]来获取键为x的值。而在vector中,元素的访问是通过索引,即使用vec[i]来获取索引为i的元素的值。
3. 动态性:unordered_map的大小可以动态地增长或缩小,它会根据需要自动调整内部存储空间。而vector的大小在创建时需要指定,并且在运行时无法动态改变。
4. 初始化方式:unordered_map不需要在创建时指定初始大小,它会根据插入的元素自动调整大小。而vector在创建时可以指定初始大小,并且元素会被初始化为指定的值。
5. 内存占用:由于unordered_map是通过哈希表实现的,它的内存占用通常比vector要大。在存储大量数据时,unordered_map可能会占用更多的内存空间。
综上所述,unordered_map和vector在数据结构、元素访问、动态性、初始化方式和内存占用等方面有一些区别。根据具体的需求,选择合适的容器可以提高代码的效率和可读性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [map、unordered_map和vector的初始化和底层机理的差别](https://blog.csdn.net/mrqiuwen/article/details/127183780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [leetcodepushfront-PS_inha:解决问题仁荷大学2020年春天](https://download.csdn.net/download/weixin_38695293/20050781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文