map容器是一个键值对key-value的映射,其内部实现是一棵以key为关键码的红黑树。Map的key和value可以是任意类型,其中key必须定义小于号运算符。
声明:
#include <iostream>#include <map>using namespace std;struct air {int x, y;bool operator()(const air & a, const air & b) const {return a.x < b.x;}};int main() {map<string, int> map0;map<air, string, air> map;map[{1, 1}] = 'a';cout << (*map.begin()).first.x << endl;return 0;}
size() |
||
|---|---|---|
empty() |
||
clear() |
||
begin() |
||
end() |
||
insert({key, value}) |
插入一个键值对 参数是pair |
完全可用[]代替 |
erase(key) |
删除一个键值对,参数为键值 | |
erase(it) |
删除一个键值对,参数为迭代器 | |
find(key) |
在哈希表中查找键为key的二元组 |
h[key]返回key映射的value的引用,时间复杂度为 O(logn)[]操作符是map最吸引人的地方。我们可以很方便地通过h[key]来得到key对应的value,还可以对h[key]进行赋值操作,改变key对应的value。
