首页主机资讯如何检测C++中的repeated元素

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

时间2024-09-14 21:36:03发布访客分类主机资讯浏览327
导读:在 C++ 中,可以使用各种方法来检测重复元素 使用 std::set: #include<iostream> #include<vector> #include <set> bool hasRep...

在 C++ 中,可以使用各种方法来检测重复元素

  1. 使用 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;

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何检测C++中的repeated元素
本文地址: https://pptw.com/jishu/699404.html
C++中repeated元素的优化方法 C++中repeated元素的处理技巧

游客 回复需填写必要信息