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

猜你喜欢

转载自www.cnblogs.com/zmachine/p/12289866.html