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。