//map
//map映照容器由一个键值和一个映照数据组成,采用红黑树实现
//默认键值从小到大插入元素
//比较函数只对元素的键值进行比较
#include<bits/stdc++.h>
using namespace std;
map<string, float> m;
int main()
{
/*插入 m["jack"]=99;
m.insert(pair<string,int>("mike",3));
m.insert(make_pair<string,int>("steam",6));
/*删除 可以删除 某个迭代器位置上的元素、 等于某个键值的元素、 一个迭代器区间上的所有元素
m.erase("jack");
m.erase(m.begin()+5);
/*反向遍历 map<string,int>::reverse_iterator rit;
for(rit=m.rbegin(); rit!=m.rend(); rit++)
*/
/*搜索 map<string,int>::iterator ite;
ite=m.find("jack");
*/
/*自定义比较函数
1.元素不是结构体
strcut myCOMP //按键值从大到小
{
bool operator()(const int &a, const int &b)
{
if(a!=b) return a>b;
else return a>b;
}
}
map<int, char, myCOMP> m;
2.元素是结构体
strcut inf
{
string name;
float score;
//重载 < 操作符,自定义排序规则
bool operator < (const inf &a) const
{
return a.score<score;
}
};
/*元素数目 m.size();
/*清空元素 m.clear();
/*可用map 将字符和数字互相转化
for(int i=0; i<=9; i++) m['0'+i]=i;
for(int i=0; i<=9; i++) m[i]='0'+i;
*/
return 0;
}
STL常用函数复习之————map
最新推荐文章于 2024-02-06 21:00:00 发布