map集合以键与值组合为元素,每个元素拥有一个键和一个值,集合以键作为排序标准。集合中各元素的键是唯一的,不重复。map可以看做是一种能使用任意下表的关联式容器。
eg:从字符串中删除字符串
#include <iostream>
#include <map>
#include <string>
using namespace std;
void print(map<string,int>t){
map<string,int>::iterator it;
cout<<t.size()<<endl;
for(it=t.begin();it!=t.end();it++){
pair<string,int >item=*it;
cout<<item.first<<"-->"<<item.second<<endl;
}
}
int main(){
map<string,int>t;
t["red"]=233;
t["blue"]=8848;
t["yellow"]=114514;
t["blue"]+=40;
print(t);cout<<endl;
//插入
t.insert(make_pair("bra",110));
t.insert(make_pair("QAQ",0));
//删除
t.erase("yellow");
print(t);cout<<endl;
//查找
// find 返回迭代器指向当前查找元素的位置否则返回map::end()位置
pair<string,int >target=*t.find("red");
cout<<target.first<<"-->"<<target.second<<endl;
return 0;
//map的基本操作函数:
//
//begin() 返回指向map头部的迭代器
// clear() 删除所有元素
//count() 返回指定元素出现的次数, 因为key值不会重复所以只能是1 or 0)
//empty() 如果map为空则返回true
//end() 返回指向map末尾的迭代器
//equal_range() 返回特殊条目的迭代器对
//erase() 删除一个元素
//find() 查找一个元素
//get_allocator() 返回map的配置器
//insert() 插入元素
//key_comp() 返回比较元素key的函数
//lower_bound() 返回键值>=给定元素的第一个位置
//max_size() 返回可以容纳的最大元素个数
//rbegin() 返回一个指向map尾部的逆向迭代器
//rend() 返回一个指向map头部的逆向迭代器
//size() 返回map中元素的个数
//swap() 交换两个map
//upper_bound() 返回键值>给定元素的第一个位置
//value_comp() 返回比较元素value的函数
}