[英]map (vs) unordered_map with pair as key
這會產生編譯器錯誤
unordered_map<pair<int,int>,int> umap;
我了解必須提供哈希函數才能使其正常工作。
但
map<pair<int,int>,int> omap;
沒有任何哈希函數的完美工作。
為什么會這樣?
std :: map不使用哈希函數。 而是,其“鍵通過使用比較功能...進行排序”,其中“搜索,刪除和插入操作具有對數復雜度”。 查找是通過遍歷搜索樹而不是通過散列來完成的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.