holyya.com
2025-09-04 15:28:59 Thursday
登录
文章检索 我的文章 写文章
C++实现数组去重的方法
2023-07-03 14:40:14 深夜i     --     --
C++ 数组 去重 方法

C++是一种非常流行的编程语言,被广泛使用于各种领域的开发中。在C++中,使用数组是一种非常常见的数据结构,但是有时候我们需要对数组进行去重的操作。那么如何在C++中实现数组去重呢?下面我们来看一下具体的实现方法。

方法一:使用STL库函数

在C++中,STL库提供了去重函数——unique(),可以用来去除数组中的重复元素。

示例代码:


#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

  int arr[] = 5;

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

  //调用unique函数

  int *new_end = unique(arr, arr + len);

  //输出去重后的数组

  for (int i = 0; i < new_end - arr; i++)

  {

   cout<<arr[i]<<" ";

  }

  return 0;

}

运行结果:


1 2 3 4 5

方法二:自行实现去重函数

如果不想使用STL库,也可以自行实现去重函数。

示例代码:


#include<iostream>

using namespace std;

void unique2(int arr[], int len)

{

  int k = 0;

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

  {

   bool flag = true;

   for (int j = 0; j < k; j++)

   {

     if (arr[i] == arr[j])

    

      flag = false;

      break;

    

   }

   if (flag)

   {

     arr[k] = arr[i];

     k++;

   }

  }

  //输出去重后的数组

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

  {

   cout<< arr[i]<<" ";

  }

}

int main()

{

  int arr[] = 2;

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

  unique2(arr, len);

  return 0;

}

运行结果:


1 2 3 4 5

可以看到,这两种方法都可以实现数组去重的操作,选择哪种方法可以根据实际需求和代码规模来决定。

综上所述,C++在进行数组去重的操作时,我们可以使用STL库函数或者自行实现去重函数。无论哪种方式,都可以实现数组去重的操作,提高我们的程序开发效率。

  
  

评论区

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