C++ unordered_map 用法
c++使用unordered_map #include using namespace std::tr1;//与此同时需要加上命名空间 1 2 3 [查找元素是否存在] 若有unordered_map 方法1: 若存在 mp.find(x)!=mp.end() 方法2: 若存在 mp.count(x)!=0 1 2 3 [插入数据] mp.insert(Map::value_type(1,"Raoul")); 1 [遍历map] unordered_map (*it).first; //the key value (*it).second //the mapped value for(unordered_map cout<<"key value is"< //也可以这样 for(auto& v : mp) print v.first and v.second 例程: #include #include #include #include using namespace std; ? int main() ? { ? ?? ?//注意:C++11才开始支持括号初始化 ? ? unordered_map ? ? myMap[2] = "李四"; ?//使用[ ]进行单个插入,若已存在键值2,则赋值修改,若无则插入。 ? ? myMap.insert(pair ?? ?? ?//遍历输出+迭代器的使用 ? ? auto iter = myMap.begin();//auto自动识别为迭代器类型unordered_map ? ? while (iter!= myMap.end()) ? ? { ? ? ? ? ? cout << iter->first << "," << iter->second << endl; ? ? ? ? ? ++iter; ? ? ? } ? ?? ? ?? ?//查找元素并输出+迭代器的使用 ? ? auto iterator = myMap.find(2);//find()返回一个指向2的迭代器 ? ? if (iterator != myMap.end()) ?? ? ? ?cout << endl<< iterator->first << "," << iterator->second << endl; ? ? ? system("pause"); ? ? ? return 0; ? } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |