map

!map

  • 一种关联容器,用于存储一组键值对<key,value>,其中每个键(key)都是唯一的
  • 根据键自动排序,通过键可以快速查找对应的值
  • map容器使用红黑树实现
  • 插入,删除和查找操作的时间复杂度为O(logn)
    image

multimap

  • 与map不同的是可以存储相同的键的键值对
    image

unordered_map

  • 每个键都是唯一的
  • 但是是无序的
  • 通过哈希表实现
  • 更快的插入,删除和查找操作的时间复杂度,平均的,复杂度情况不稳定
    image

代码示例

#include<bits/stdc++.h>
using namespace std;
int main()
{
    map<int,string>myMap = {{1,"Apple"},{2,"Banana"},{3,"Orange"}};
    myMap.insert(make_pair(4,"Grapes"));
    cout << "Value at key 2:" << myMap[2] << endl;
    for (const auto& pair : myMap){
        cout << "key:" << pair.first << ",Value:" << pair.second <<endl;
    }myMap.erase(3);
    if(myMap.count(3) == 0){
        cout << "Key 3 not found." << endl;
        
    }myMap.clear();
    if (myMap.empty()){
        cout << "Map is empty." << endl;
    }
    return 0;
}

其他与map类似

posted @ 2024-03-05 21:17  777CC  阅读(78)  评论(0)    收藏  举报