STL - 包含向量的地图

时间:2013-10-13 22:43:24

标签: c++ c++11

我有一个包含字符串和向量的地图:     std::map<std::string, std::vector<int> > sorted_data; 字符串是人名,向量存储具有该名称的人的年龄。

如何访问矢量以打印其内容并执行计算,例如数据的平均值。

关于语法和逻辑的任何其他解释都非常有用,因为我正在努力解决这个问题。

希望你能提供帮助。

安德鲁

1 个答案:

答案 0 :(得分:0)

您的地图包含许多与名称相关联的向量,因此要访问其中一个,您可以编写以下内容sorted_data["john"]。这将使您可以访问该特定向量。

例如,要计算平均值,您可以迭代向量中的所有元素并将它们相加。

int sum = 0;
for(int i = 0; i < sorted_data["john"].size(); i++)
{
  sum+=sorted_data["john"][i];
}
float avg = sum/(float)sorted_data["john"].size(); 

您还可以使用迭代器迭代地图。使用c ++参考site并尝试理解示例代码。