比较map,unordered_map,hush_map

先附上知乎大牛的map和unorder_map的区别

 

map

即map插入查询都是logn

而unordered_map则为插入O(1) 查询也为O(1)

但是

一种结构hash_map插入和查询都是O(1)

这里附上用法

#include<ext/hash_map>
#include<iostream>
using namespace __gnu_cxx;
using namespace std;
int main()
{
    hash_map<int,int> mp;
    mp[2]=3;
    mp[-1]=1;
    //mp[2]=0;
    printf("%d %d\n",mp[-1],mp[2]);
    printf("%d",mp.size());
    for(auto V: mp)
    {
        cout<<V.first<<endl;
    }
}

相对于map的缺点就是key值未进行排序

而且由于是非标准库

所以再oj上可能会有些问题

所以还是先记录下来不得以的情况下才使用