哈希映射(整数,字符串[])在C++

Hash Map (int, string[]) in C++

本文关键字:C++ 字符串 映射 整数 哈希      更新时间:2023-10-16

有人可以告诉我在以下情况下C++开始使用 Hashmap 的代码:

我想为(int,string[])映射(键,值)。

因此,我的地图应该有一个指向一定大小的字符串数组的 int 键。如何在C++中为此声明和使用哈希映射。

请帮我解决这个问题。提前致谢

您可以使用

std::string s的std::vector s的std::map std::unordered_map,但unordered_multimap在C++中提供了更好的选择。它允许您为同一键存储多个项目,而无需管理每个映射条目内的向量。

下面是使用地图的示例:

using namespace std;
int main(int argc, const char* argv[]) {
    unordered_map<int,vector<string>> mvs;
    vector<string> items1;
    items1.push_back("hello");
    items1.push_back("world");
    vector<string> items2;
    items2.push_back("quick");
    items2.push_back("brown");
    items2.push_back("fox");
    mvs[1] = items1;
    mvs[200] = items2;
    mvs[4].push_back("another_one");
    for(unordered_map<int,vector<string>>::const_iterator iter = mvs.begin() ; iter != mvs.end() ; iter++) {
        cout << iter->first << ":";
        for (vector<string>::const_iterator jter = iter->second.begin() ; jter != iter->second.end() ; jter++) {
            cout << *jter << " ";
        }
        cout << endl;
    }
    return 0;
}

编辑以提及哈希映射。