21xrx.com
2024-12-22 23:24:56 Sunday
登录
文章检索 我的文章 写文章
C++降序排序代码
2023-07-01 21:01:19 深夜i     --     --
C++ 降序排序 代码

C++是一种高级编程语言,广泛应用于多个领域。在编写程序的过程中,有时需要对数据进行排序。本文将介绍如何使用C++编写降序排序代码。在排序之前,我们需要先了解一些基本概念。

排序是将一组元素按照某种规则重新排列的过程。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。其中,快速排序是常用的高效排序算法。

快速排序的基本思想是:选取一个轴值,将待排序序列分成两部分,一部分是小于等于轴值的元素,另一部分是大于轴值的元素。然后再对这两部分分别进行递归排序,最终得到一个有序序列。

下面是C++实现快速排序的代码:


#include <iostream>

using namespace std;

void quickSort(int arr[], int left, int right) {

  int i = left, j = right;

  int pivot = arr[(left + right) / 2];

  

  while (i <= j) {

    while (arr[i] > pivot) i++;

    while (arr[j] < pivot) j--;

    if (i <= j) {

      swap(arr[i], arr[j]);

      i++;

      j--;

    }

  }

  if (left < j) quickSort(arr, left, j);

  if (i < right) quickSort(arr, i, right);

}

int main() {

  int arr[] = 5;

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

  quickSort(arr, 0, n - 1);

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

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

  return 0;

}

上述代码实现了快速排序,并将结果按升序输出。但如果要按降序排序该怎么做呢?

很简单,只需要将代码中的两个while循环语句互换一下即可:


while (arr[i] < pivot) i++;

while (arr[j] > pivot) j--;

这里只需要将小于号改成大于号,即可实现将数据按降序排序。

总的来说,C++的排序算法是一个非常基础和重要的知识点,程序员必须要掌握。通过理解公共排序算法和实现降序排序代码,可以更好的掌握排序算法的思想和方法,为日后编写高质量的代码打下良好的基础。

  
  

评论区

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