我想在矢量中打印地图中的值和键。
我搜索了如何在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.
}
}
答案 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;
}
}