容器map
#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; }