【C++】把map复制给vector和直接输出map的key和value


map复制到vector里面

写代码有时候在map里面不太好操作key和value,那么一个权宜的办法就是把map的内容全部的拷贝到vector里面,然后对vector进行操作。

    //假设之前定义了 map<int,double> p;

    vector<pair<int,double>> v;

    map<int,double>::iterator it;

    for( it = p.begin();it!=p.end();it++)    //copy
        v.push_back(*it);

    for(int i = 0; i<v.size(); i++)          //output
        cout<<v[i].first<<" "<<v[i].second<<endl;

上面的代码就实现了把map的内容拷贝到vector里面,然后再把vector里面的内容输出出来,当然,我们也可以对这个vector做别的操作,比如按照指定的规则进行排序等等。


直接输出map的key和value(迭代器)

其实map的(key,value)就是一个pair,那么在上面的代码里面,如果我们想要输出key,那么只需要这样做:

cout<<(*it).first<<endl;    //输出key
cout<<(*it).second<<endl;   //输出value

stl的map和vector还是非常好用的,以上。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值