写一段遍历一个自定义结构体的容器输出容器内出现了3次以上的相同数字的c++代码
下面是一个遍历一个自定义结构体容器,并输出容器内出现了3次以上的相同数字的C++代码示例:
#include <iostream>
#include <vector>
#include <unordered_map>
struct MyStruct {
int value;
// 其他成员变量...
};
int main() {
std::vector<MyStruct> myContainer = {
{1}, {2}, {2}, {3}, {3}, {3}, {4}, {5}, {5}, {5}
};
std::unordered_map<int, int> countMap;
// 统计每个数字出现的次数
for (const auto& item : myContainer) {
countMap[item.value]++;
}
// 输出出现3次以上的数字
for (const auto& pair : countMap) {
if (pair.second >= 3) {
std::cout << "Number " << pair.first << " appears " << pair.second << " times." << std::endl;
}
}
return 0;
}
在上面的代码中,首先定义了一个自定义结构体MyStruct,其中包含一个整型成员变量value。然后创建了一个std::vector<MyStruct>类型的容器myContainer,并初始化了一些元素。接下来,创建了一个std::unordered_map<int, int>类型的countMap,用于统计每个数字出现的次数。通过遍历myContainer,将每个数字出现的次数记录在countMap中。最后,再次遍历countMap,输出出现3次以上的数字及其出现次数
原文地址: https://www.cveoy.top/t/topic/hJjP 著作权归作者所有。请勿转载和采集!