如何检测C++中的repeated元素

   2024-09-30 2000
核心提示:在 C++ 中,可以使用各种方法来检测重复元素使用 std::set:#includeiostream#includevector#include setbool hasRepeatedElemen

在 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 都会删除重复项,所以只需比较它们的大小与原始向量即可判断是否存在重复元素。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号