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是基于哈希表
mapunordered_mapAVL
红黑树哈希表平衡二叉树
适用于频繁增删查找不一定稳定调整复杂
有序无序

set

  • 语法同unordered_map

  • 去重、排序

unordered_set