在C++中,使用std::unordered_map
來實現哈希表。std::unordered_map
是C++標準庫中的一個容器,它提供了一種鍵值對的映射關系,并且具有O(1)的查找時間復雜度。
下面是一個示例代碼,演示了如何在C++中正確使用std::unordered_map
:
#include <iostream>
#include <unordered_map>
int main() {
// 創建一個unordered_map
std::unordered_map<std::string, int> myMap;
// 插入鍵值對
myMap["apple"] = 5;
myMap["banana"] = 3;
myMap["orange"] = 7;
// 查找元素
std::string key = "banana";
if (myMap.find(key) != myMap.end()) {
std::cout << key << " : " << myMap[key] << std::endl;
} else {
std::cout << key << " not found" << std::endl;
}
// 遍歷unordered_map
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " : " << it->second << std::endl;
}
return 0;
}
在上面的代碼中,首先創建了一個std::unordered_map
對象myMap
,然后插入了幾個鍵值對。接著通過find()
方法查找指定的鍵值對,并且遍歷了整個std::unordered_map
對象。