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


map复制到vector里面

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

    //假设之前定义了 map p;

    vectorint,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//output
        cout<" "<

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


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

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

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

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

你可能感兴趣的:(【C++】把map复制给vector和直接输出map的key和value)