C++中map的迭代器操作

版权声明:看了这篇文章的百分之九十九都顶了,还有百分之一的人默默点了转发,并且在转发的时候含泪说了一句:不转不是中国人 https://blog.csdn.net/NOIAu/article/details/72923307

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

数据不可重:

这里写图片描述


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

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页