C ++查找某些内容出现在两个元素中的结构向量的次数

时间:2015-05-03 22:07:02

标签: c++ vector struct ifstream

对于这个令人困惑的标题感到抱歉,不知道怎么说出来 基本上,我有一个充满结构的矢量,其中包含一些关于参加某些运动决赛的球队的信息。结构如下所示:

Pipeline

我已经使用文件中的信息填充了向量,并且想要查找每支球队在决赛中出场次数。这意味着我需要计算每支球队获胜者或亚军的次数。这是一个相当简单的方法吗?
作为参考,该文件如下所示:

struct Year{
    string year;
    string host;
    string winner;
    string score;
    string runnerUp;
};

假设矢量已正确填充

1 个答案:

答案 0 :(得分:2)

您可以遍历您的向量并为每次出现的团队增加一个计数器。您可以将计数器编码为map<std::string, int>,其中键是团队的名称。

编辑map的丑陋堂兄是键和值对的向量。我向您展示了一种定义数据类型的可能方法。您可以更改struct的{​​{1}},但由于我认为这是作业,您可能希望坚持使用简单的数据类型。

std::pair

我让你考虑如何为这些结构设计算法。提示:struct Counter{ string team; int counter; } std::vector<Counter> counters;