21xrx.com
2024-11-05 12:15:38 Tuesday
登录
文章检索 我的文章 写文章
C++ 去重代码实现
2023-07-13 15:19:21 深夜i     --     --
C++ 去重 代码 实现

在编程中,去重操作是一项非常常见和重要的任务。在使用C++语言时,我们可以采用多种方法实现去重操作。下面介绍几种主要的C++去重代码实现方式。

一、使用 set 容器

set 是 C++ 标准库中的一个容器,用于存储唯一的值。利用 set 容器去重十分方便,只需要将需要去重的元素插入到 set 中即可。由于 set 的特点是自动按照元素的值进行排序,因此去重后的结果是有序的。

下面是使用 set 容器去重的代码示例:


#include <iostream>

#include <set>

int main() {

 int arr[] = 2;

 int n = sizeof(arr) / sizeof(arr[0]);

 std::set<int> set_arr;

 for (int i = 0; i < n; i++)

  set_arr.insert(arr[i]);

 std::cout << "去重后的数组:";

 for (int num : set_arr)

  std::cout << num << " ";

 std::cout << std::endl;

 return 0;

}

二、使用 unordered_set 容器

unordered_set 和 set 类似,都是用来存储唯一的值的容器。不同之处在于 unordered_set 内部使用哈希表实现元素的存储,因此在插入和查找元素时速度会更快。

下面是使用 unordered_set 容器去重的代码示例:


#include <iostream>

#include <unordered_set>

int main() {

 int arr[] = 2;

 int n = sizeof(arr) / sizeof(arr[0]);

 std::unordered_set<int> set_arr;

 for (int i = 0; i < n; i++)

  set_arr.insert(arr[i]);

 std::cout << "去重后的数组:";

 for (int num : set_arr)

  std::cout << num << " ";

 std::cout << std::endl;

 return 0;

}

三、使用 unique 函数

unique 函数是 C++ 标准库中的一个去重函数,可以将相邻的重复元素去除。unique 函数的基本用法可以搭配 vector 容器使用。

下面是使用 unique 函数去重的代码示例:


#include <iostream>

#include <vector>

#include <algorithm>

int main() {

 std::vector<int> vec = 7;

 std::sort(vec.begin(), vec.end());

 auto end_unique = std::unique(vec.begin(), vec.end());

 vec.erase(end_unique, vec.end());

 std::cout << "去重后的数组:";

 for (int num : vec)

  std::cout << num << " ";

 std::cout << std::endl;

 return 0;

}

以上就是三种常见的 C++ 去重代码实现方式,不同的去重方法有着不同的优劣势和适用场景,在实际应用中需要根据具体情况选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复