C++中repeated元素的查找方法

avatar
作者
猴君
阅读量:0

在C++中,可以使用多种方法来查找重复元素

  1. 使用std::set
#include<iostream> #include<vector> #include <set>  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1};     std::set<int> unique_numbers;      for (int number : numbers) {         if (unique_numbers.find(number) != unique_numbers.end()) {             std::cout << "Repeated element: "<< number<< std::endl;         } else {             unique_numbers.insert(number);         }     }      return 0; } 
  1. 使用std::unordered_set
#include<iostream> #include<vector> #include <unordered_set>  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1};     std::unordered_set<int> unique_numbers;      for (int number : numbers) {         if (unique_numbers.find(number) != unique_numbers.end()) {             std::cout << "Repeated element: "<< number<< std::endl;         } else {             unique_numbers.insert(number);         }     }      return 0; } 
  1. 使用std::count
#include<iostream> #include<vector> #include<algorithm>  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1};      for (int number : numbers) {         if (std::count(numbers.begin(), numbers.end(), number) > 1) {             std::cout << "Repeated element: "<< number<< std::endl;         }     }      return 0; } 

请注意,这些方法在不同情况下可能有不同的性能。例如,使用std::setstd::unordered_set通常比使用std::count更高效,特别是在大型数据集中。然而,在某些情况下,std::count可能更简单且易于理解。选择最适合您需求的方法。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!