c++|map用法

在我做array分类的题的时候,很多都容易超时,这个时候就可以考虑使用哈希表,unordered_map或者map,其中map这一容器可以自动对key值排序。

一、map初始化方式

map<int, int>={{1,2}, {2,3}};

二、迭代器操作

定义iterator 类型,然后用for循环,可以用firstsecond来访问map中的两个元素。另外,对于map中的insert操作,需要用到pair

map<string,int> m;
m.insert(pair<string, int> ("guo", 99));
m.insert(pair<string, int> ("abc", 90));
map<string, int> ::iterator it;
for(it = m.begin(); it != m.end(); it++){
    cout<<it->first<<endl;
    cout<<it->second<<endl;
}

三、删除和插入操作

map<int, int> m;
m.insert(pair<int, int>(1,1));  // 插入操作 用pair
m.erase(1);  // 删除key为1的元素
m.erase(m.find(1));  // 与上一句等同

四、查找(find)和计数(count)

  • find函数返回迭代器(用it->first, it->second来访问迭代器指向位置的key和value),如果查找成功,指向这一元素的位置,否则,返回m.end()
  • count函数返回1或者0,查找成功返回1,否则返回0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容