STL之unordered_map与unordered_set的简单用法
快速入门
#include<iostream>
#include<unordered_map>
#include<unordered_set>
using namespace std;
int main(void) {
unordered_map<string, int>m;//哈希表,键值对
//用法:insert/find/erase
unordered_set<int>s;//不重复的集合=>和vector类似,只不过不允许重复
//用法:insert/find/erase
//插入
m["c++"] = 1;
m["java"] = 2;
m["c"] = 3;
s.insert(10);
s.insert(20);
s.insert(30);
//遍历
for (auto it = m.begin(); it != m.end(); it++) {
cout <<it->first<<":"<<it->second << endl;
}
for (auto it = s.begin(); it != s.end(); it++) {
cout << *it << endl;
}
//find
if (m.find("java") == m.end())
cout << "没找到java" << endl;
else {
cout << "java对应:" << m.find("java")->second << endl;
}
cout << "erase:" << endl;
//删除某一数据
m.erase("java");
s.erase(20);
for (auto it = m.begin(); it != m.end(); it++) {
cout << it->first << ":" << it->second << endl;
}
for (auto it = s.begin(); it != s.end(); it++) {
cout << *it << endl;
}
return 0;
}
//补充:set中元素的插入,不一定要用insert一个一个的插入,还可以用大括号一次性插入
unordered_set<int> s = {1,2,3,4};