unordered_map查找重复元素
时间: 2023-10-28 22:02:16 浏览: 92
您可以使用`std::unordered_map`来查找重复元素。`std::unordered_map`是C++标准库中的一个容器,它使用哈希表实现,可以快速查找和插入元素。
下面是一个示例代码,演示如何使用`std::unordered_map`来查找重复元素:
```cpp
#include <iostream>
#include <unordered_map>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 1, 2, 5, 3, 6};
std::unordered_map<int, int> countMap;
for (int num : numbers) {
countMap[num]++;
}
for (const auto& pair : countMap) {
if (pair.second > 1) {
std::cout << "重复元素:" << pair.first << std::endl;
}
}
return 0;
}
```
在上述代码中,我们首先创建了一个`std::unordered_map`对象`countMap`来存储每个元素的出现次数。然后,我们遍历`numbers`向量,并使用计数器将每个元素的出现次数加一。最后,我们遍历`countMap`,如果某个元素的出现次数大于1,则输出该元素为重复元素。
执行上述代码,输出将会是:
```
重复元素:1
重复元素:2
重复元素:3
```
这表明在初始向量中,元素1、2和3都是重复的。
阅读全文