天天看點

map、multimap、unordered_map

引用:windows程式員面試指南

map

map 紅黑樹

map 對value值無要求

map 有序,按照key值自動排序

map key值唯一

map 頭檔案:#include

map 支援重載[]的運算符

map 為保持有序性,erase()開銷大

multimap

multimap 紅黑樹

multimap 對value值無要求

multimap 有序,按照key值排序,

multimap key值不唯一,可以存在多個相同key

multimap 頭檔案:#include

multimap 不支援重載[]的運算符,不可以通過 [key] 查找值

multimap 為保持有序性,erase()開銷大

unordered_map

unordered_map 哈希表

unordered_map 對value值無要求

unordered_map 無序,不按照key值排序,無序

unordered_map key值唯一

unordered_map 頭檔案:#include<unordered_map>

unordered_map 支援重載[]的運算符

unordered_map 無序,erase()開銷小

如果沒有特殊的排序要求,優先使用 unordered_map