21xrx.com
2025-03-25 13:34:27 Tuesday
文章检索 我的文章 写文章
C++数组去重与排序代码
2023-06-23 12:45:34 深夜i     --     --
C++ 数组 去重 排序 代码

C++数组是非常常见的数据结构,在实际编程中经常需要对数组进行去重和排序。下面是一份简单的代码,演示了如何实现数组去重和排序:

#include <iostream>
#include <algorithm>
using namespace std;
// 数组去重
int removeDuplicates(int arr[], int n) {
  sort(arr, arr + n);
  int j = 0;
  for (int i = 0; i < n; i++) {
    if (i == 0 || arr[i] != arr[i - 1]) {
      arr[j++] = arr[i];
    }
  }
  return j;
}
// 数组排序
void sortArray(int arr[], int n) {
  sort(arr, arr + n);
}
int main() {
  int arr[] = 2;
  int n = sizeof(arr) / sizeof(arr[0]);
  // 去重
  n = removeDuplicates(arr, n);
  // 排序
  sortArray(arr, n);
  // 输出数组
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

上述程序中,`removeDuplicates`函数首先使用`sort`函数对数组进行排序,然后使用两个指针`i`和`j`,将重复元素去除,返回去重后数组的长度。`sortArray`函数使用`sort`函数对数组进行排序,然后直接修改原数组。在程序前面定义了`using namespace std;`,这是为了在`main`函数中的输出语句`cout`不用写全称`std::cout`,而简写成`cout`。

从程序运行结果来看,输入的数组中有重复元素1、2、3,输出的数组中去除了重复元素,而且升序排列。这样的代码可以在实际开发中发挥重要作用,提高程序的效率和可靠性。

  
  

评论区