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

C++ Finding the number of times something appears in two elements a vector of structs

抱歉,标题令人困惑,不知道如何措辞。
基本上,我有一个充满结构的向量,其中包含一些关于参加某项运动决赛的球队的信息。结构如下所示:

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

我用文件中的信息填充了向量,想找出每支球队参加决赛的次数。这意味着我需要计算每支球队获得冠军或亚军的次数。执行此操作的相当简单的方法是什么?
作为参考,该文件如下所示:

Year    Host    Winner  Score   Runner-up
1936    Germany United States   19-8    Canada
1948    United Kingdom  United States   65-21   France
1952    Finland United States   36-25   Soviet Union
1956    Australia   United States   89-55   Soviet Union
1960    Italy   United States   No playoffs Soviet Union
1964    Japan   United States   73-59   Soviet Union
1968    Mexico  United States   65-50   Yugoslavia
1972    West Germany    Soviet Union    51-50   United States
1976    Canada  United States   95-74   Yugoslavia
1980    Soviet Union    Yugoslavia  86-77   Italy
1984    United States   United States   96-65   Spain
1988    South Korea Soviet Union    76-63   Yugoslavia
1992    Spain   United States   117-85  Croatia
1996    United States   United States   95-69   Yugoslavia
2000    Australia   United States   85-75   France
2004    Greece  Argentina   84-69   Italy
2008    China   United States   118-107 Spain
2012    United Kingdom  United States   107-100 Spain

假设向量已正确填充

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

Editmap 的丑表亲是键值对向量。我向您展示了一种定义数据类型的可能方法。您可以将 struct 更改为 std::pair,但由于我猜这是家庭作业,您可能希望坚持使用简单的数据类型。

struct Counter{
    string team;
    int counter;
}

std::vector<Counter> counters;

留给你思考如何为这些结构设计算法。提示:std::find.