21xrx.com
2024-09-20 00:58:09 Friday
登录
文章检索 我的文章 写文章
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,输出的数组中去除了重复元素,而且升序排列。这样的代码可以在实际开发中发挥重要作用,提高程序的效率和可靠性。

  
  

评论区

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