#include<iostream>
#include<map>
using namespace std;
int main()
{
map<int,int> m;//有序结构,底层为红黑树,key的值不允许相同,相同的话用multimap
m[6]=7;
m[5]=6;
m[4]=5;
for(auto x:m)
cout<<x.first<<" "<<x.second<<endl;//输出的时候也是按下标的顺序输出
cout<<endl;
for(auto it=m.begin() ;it!=m.end() ;it++)
cout<<it->first<<" "<<it->second<<endl;
return 0;
}
//unordered_map
#include<iostream>
#include<unordered_map>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(pair<int,int>a,pair<int,int>b)
{
return a.first>b.first;//自定义排序规则,从大到小排
}
int main()
{
unordered_map<int,int> m;//无序的,底层时哈希结构,不可排序
m[6]=7;
m[5]=6;
m[9]=5;
for(auto x:m)
cout<<x.first<<" "<<x.second<<endl;//输出的时候也是按下标的顺序输出
cout<<endl;
vector<pair<int,int>> v(m.begin(),m.end());
sort(v.begin() ,v.end(),cmp);
for(auto x:v)
cout<<x.first<<" "<<x.second<<endl;
return 0;
}