在C++中實現一個dictionary(字典)可以使用std::map或者unordered_map來實現。這兩個容器都可以用來存儲鍵值對,并且提供了快速的查找和插入操作。
以下是一個使用std::map來實現dictionary的簡單示例:
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> dictionary;
// 添加鍵值對
dictionary["apple"] = 10;
dictionary["banana"] = 5;
dictionary["orange"] = 8;
// 查找鍵值對
std::cout << "apple: " << dictionary["apple"] << std::endl;
std::cout << "banana: " << dictionary["banana"] << std::endl;
std::cout << "orange: " << dictionary["orange"] << std::endl;
// 遍歷字典
for (const auto& pair : dictionary) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
在上面的示例中,我們使用std::map<std::string, int>來存儲鍵值對,鍵是一個字符串,值是一個整數。我們可以通過[]操作符來訪問和修改鍵值對,也可以使用迭代器來遍歷整個dictionary。
如果要實現一個無序的dictionary,可以使用std::unordered_map來代替std::map,用法類似。unordered_map提供了更快的查找和插入操作,但是不會按照鍵的順序存儲鍵值對。