map
- 插入
- 遍历、顺序输出、逆序输出
- 查找元素是否存在
- 删除元素
map<int, int> mp;
set<int> st;
cout<<"map插入十组数据"<<endl;
for(int i=0;i<10;i++)
mp[i]=i*i;
cout<<"默认按key升序输出:key,value"<<endl;
for(map<int, int>::iterator it=mp.begin();it!=mp.end();it++){
cout<<it->first<<' '<<it->second<<"; ";
}
cout<<endl;
cout<<"按照key降序输出"<<endl;
for(map<int,int>::reverse_iterator it=mp.rbegin();it!=mp.rend();it++){
cout<<it->first<<' '<<it->second<<"; ";
}
cout<<endl;
cout<<"c++11遍历特性"<<endl;
for(auto &entry : mp)cout<<entry.first<<' ';
struct point{
int x,y;
bool operator()(const point& p)const {
return x!=p.x? x<p.x : y<p.y;
}
};
map<point,bool> mpp;
cout<<mpp[{1,5}]<<endl;
mpp[{1,5}]=true;
cout<<mpp[{1,5}]<<endl;
set
set用法和map有点类似
set<int> s;
for(int i=0;i<9;i++)s.insert(i);
set<int>:: iterator it=s.lower_bound(5);
if(it != s.end())cout<<*it<<endl;
|