如何在矢量中打印地图元素?

时间:2016-10-21 09:06:11

标签: c++

我想在矢量中打印地图中的值和键。

我搜索了如何在Interent上打印地图中的元素,但没有找到结果。怎么做?

以下是我的代码。

#include <iostream>
#include <string>
#include <map>

using namespace std;
vector<map<string,int>> list;
vector<map<string, int>>::iterator it;

int N;
int M;

int main(void) {
    cin >> N;

    string s;
    int num = 0;

    for (int i = 0; i < N; ++i) {
        scanf("%s,%d", s, &num);
        map<string, int> product;
        product.insert(pair<string, int>(s, num));
        list.push_back(product);
    }

    for (it = list.begin(); it != list.end(); ++it) {
        //I don't know how to print the elements in the map.
    }
}

1 个答案:

答案 0 :(得分:2)

*it将包含你的地图,所以循环遍历这些迭代器

 for (it = list.begin(); it != list.end(); ++it) {
    for (map<string, int>::iterator mapIt(it->begin()); mapIt != it->end(); ++mapIt) {

      // output here
      std::cout << mapIt->first << ", " << mapIt->second << std::endl;
    }
}