21xrx.com
2025-06-13 21:07:19 Friday
文章检索 我的文章 写文章
C++数组去重教程
2023-07-11 21:56:39 深夜i     44     0
C++ 数组 去重 教程

C++是一门非常强大的编程语言,被广泛应用于各种领域。在C++中,数组是一种常见的数据类型,可以存储多个相同类型的数据。然而,有时候我们需要对数组进行去重操作,以便更好地进行数据处理。下面就为大家介绍一下C++数组去重的方法。

1. 基于STL的去重方法

STL(Standard Template Library)是C++中用于数据结构和算法的库,其中包含了很多几乎可以应对所有情况的函数和容器,方便开发者使用,同时也极大地提高了开发效率。可以使用STL中的unique函数来进行数组去重操作。

示例代码:

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
  int array[] = 3; // 待去重的数组
  int len = sizeof(array) / sizeof(int); // 数组长度
  sort(array, array + len); // 对数组进行排序
  len = unique(array, array + len) - array; // 去重,返回去重后数组的长度
  for (int i = 0; i < len; i++) {
    cout << array[i] << " "; // 输出去重后的数组
  }
  return 0;
}

2. 基于哈希表的去重方法

哈希表是一种非常高效的数据结构,可以快速地存储和查找数据。在C++中,可以使用unordered_set库中的容器unordered_set来实现数组去重操作。

示例代码:

#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
  int array[] = 1; // 待去重的数组
  int len = sizeof(array) / sizeof(int); // 数组长度
  unordered_set<int> set(array, array + len); // 构造哈希表
  for (auto it = set.begin(); it != set.end(); it++) {
    cout << *it << " "; // 输出去重后的数组
  }
  return 0;
}

通过以上两种方法,我们可以轻松实现C++数组去重操作,让我们的数据处理更加高效。

  
  

评论区