C++中map的迭代器操作

来源:互联网 发布:百度五笔mac官方下载 编辑:程序博客网 时间:2024/06/10 02:29

C++中map的迭代器操作

可以直接插入pair类型,也可以进行直接赋值
pair类型的左边是第一关键字,右边是第二关键字,显然,map是由红黑树封装起来的,所以支持动态维护平衡树,因此,遍历map的时候第一关键字的数据是有序的


#include<cstdio>#include<iostream>#include<cstring>#include<map>#include<vector>#include<queue>#define MAXN using namespace std;int n,x,y;int main(){    ios::sync_with_stdio(false);    //freopen(".txt","r",stdin);    //freopen(".out","w",stdout);    map<int,int>m;////  pair<int,int>p (1,2);     m.insert(pair<int,int>(1,2));    cin>>n;    for(register int i=1;i<=n;i++){        cin>>x>>y;        pair<int,int> p (x,y);        m.insert(p);    } cout<<endl;//所以map的第一关键字是不能重复的,因为map是映射,也就是函数的定义,因此数据结构里存储的首先映射的内容     for(register map<int,int>::iterator i=m.begin();i!=m.end();i++){        pair<int,int>it=*i;        cout<<it.first<<" "<<it.second<<endl;    }    return 0;}

数据不可重:

这里写图片描述


数据按照第一关键字排序:

这里写图片描述