如何检测C++中的repeated元素
导读:在 C++ 中,可以使用各种方法来检测重复元素 使用 std::set: #include<iostream> #include<vector> #include <set> bool hasRep...
在 C++ 中,可以使用各种方法来检测重复元素
- 使用
std::set
:
#include<
iostream>
#include<
vector>
#include <
set>
bool hasRepeatedElements(const std::vector<
int>
&
vec) {
std::set<
int>
s(vec.begin(), vec.end());
return s.size() != vec.size();
}
int main() {
std::vector<
int>
vec = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 1}
;
if (hasRepeatedElements(vec)) {
std::cout <
<
"存在重复元素"<
<
std::endl;
}
else {
std::cout <
<
"不存在重复元素"<
<
std::endl;
}
return 0;
}
- 使用
std::unordered_set
:
#include<
iostream>
#include<
vector>
#include <
unordered_set>
bool hasRepeatedElements(const std::vector<
int>
&
vec) {
std::unordered_set<
int>
s(vec.begin(), vec.end());
return s.size() != vec.size();
}
int main() {
std::vector<
int>
vec = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 1}
;
if (hasRepeatedElements(vec)) {
std::cout <
<
"存在重复元素"<
<
std::endl;
}
else {
std::cout <
<
"不存在重复元素"<
<
std::endl;
}
return 0;
}
这两个示例都会输出 “存在重复元素”,因为向量 vec
包含重复的元素 1。注意,std::set
和 std::unordered_set
都会删除重复项,所以只需比较它们的大小与原始向量即可判断是否存在重复元素。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何检测C++中的repeated元素
本文地址: https://pptw.com/jishu/699404.html