map和set使用
- map
- map的使用
- map的基本功能
- map的pair介绍
- map的[ ]介绍
map
map是一种关联式容器,map的作用是将key和value一一对应的绑定在一起。用一个结构体pair将他们组合。
map的使用
map的三种插入模式
map<string, string> dist;// 插入方法1 显示构造pair<string, string> k = { "苹果","水果" };dist.insert(k);//插入方法2 匿名对象dist.insert(pair<string, string>{ "西瓜", "水果" });//插入方法3dist.insert(make_pair("南瓜", "水果"));
一个key只能对应一个value:
map的基本功能
map的基本功能就是统计次数。
先看插入函数:
string x[] = {"苹果", "苹果", "李子","苹果", "苹果" ,"李子","李子","李子","李子","西瓜"};map<string, int> coutMap;for (auto i : x){cout << i << ' ';}cout << endl;pair< map < string, int >::iterator, bool> ret;map < string, int >::iterator ret2;for (auto i : x){ret=coutMap.insert(make_pair(i, 1));if (ret.second == false){ret2 = ret.first;ret2->second++;}}map<string, int>::iterator it =coutMap.begin();while (it != coutMap.end()){cout << (*it).first << ' ' << (*it).second << ' ';it++;}
每当插入失败,则说明计数器+1。
map的pair介绍
pair就是存放两个不同数据类型的结构体。pair就是一个模板
map的[ ]介绍
map的[ ]可以说专为计数而生。
模拟实现这个[ ]
就是返回对应的value就可以了。