欢迎访问我的STL库介绍
本文介绍常用的PAT里STL库map的使用,对付PAT考试或其他上机要求足够了
声明
map<string,int> nametoid;
map<string,set<int>> nametoset;
map<int,vector<int>> a;
a[1].push_back(1);
cout<<a[1][0];
#include <bits/stdc++.h>
using namespace std;
struct person{
int id;
};
int main(){
map<string,person> a;
string b="kim";
a[b].id=1;
a["jake"].id=2;
cout<<a[b].id<<" "<<a["jake"].id;
return 0;
}
插入元素
#include <bits/stdc++.h>
using namespace std;
int main(){
map<int,int> idtoyear;
idtoyear[1]=21;
idtoyear[2]=18;
idtoyear[1]=74;
cout<<idtoyear[1]<<" "<<idtoyear[2];
return 0;
}
查找元素
map<int,string> a;
if(a.find(3)!=a.end())cout<<a[3];
删除元素
map<int,string> a;
a.erase(a.find(1));
int n = a.erase(23);
清空元素
a.erase(a.begin(),a.end());
a.clear();
遍历map
map<string,int> num;
int maxx=-1;
string str;
for(map<string,int>::iterator it=num.begin();it!=num.end();it++){
if(it->second>maxx){
maxx=it->second;
str=it->first;
}
}
cout<<str;
map<int,set<int>> change;
map<int,set<int>>::iterator it=change.begin();
set<int>::iterator it1=change[i].begin();
a.empty()
bool flag=a.empty();
a.size()
cout<<a.size();
map练习题