unordered_map
unordered_map<int,string> m;
m.insert({1,"s"});//插入
m.size();//元素个数
m.find(key);//返回迭代器
m.count(key);//检测一个值存不存在
m.erase(key);//释放
m[key];//value
例子:
#include<iostream>
#include<unordered_map>
using namespace std;
int main()
{
unordered_map<char,int> m;
m['a']=9;
m[' ']=5;
m['c']=99;
cout<<m.size()<<endl;
for(auto it=m.begin();it!=m.end();i++)
{
cout<<it->first<<endl;//key
cout<<it->second<<endl;//value
}
return 0;
}
map
-
函数同uordered_map
-
头文件:
#include<map>
###异同
- map是基于红黑树,unordered_map是基于哈希表
map | unordered_map | AVL |
---|---|---|
红黑树 | 哈希表 | 平衡二叉树 |
适用于频繁增删查找 | 不一定稳定 | 调整复杂 |
有序 | 无序 |
set
-
语法同unordered_map
-
去重、排序