map容器是一个键值对key-value的映射,其内部实现是一棵以key为关键码的红黑树。Map的key和value可以是任意类型,其中key必须定义小于号运算符。

    声明:

    1. #include <iostream>
    2. #include <map>
    3. using namespace std;
    4. struct air {
    5. int x, y;
    6. bool operator()(const air & a, const air & b) const {
    7. return a.x < b.x;
    8. }
    9. };
    10. int main() {
    11. map<string, int> map0;
    12. map<air, string, air> map;
    13. map[{1, 1}] = 'a';
    14. cout << (*map.begin()).first.x << endl;
    15. return 0;
    16. }
    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。