21xrx.com
2024-11-22 05:34:45 Friday
登录
文章检索 我的文章 写文章
C++选择排序法实现降序排列
2023-07-10 04:27:00 深夜i     --     --
C++ 选择排序法 实现 降序排列

选择排序是一种简单而高效的排序算法,它的基本思想是每次从未排序的数列中选择最小(或最大)的元素,放到已排序的数列的末尾。在C++中,使用选择排序法实现降序排列也很简单。

首先,我们需要定义一个数组来存储待排序的数据。假设这个数组的名字为arr,数组的长度为n。接着,我们使用for循环来实现选择排序。每次循环,我们从未排序的数列中选择最大的元素,将它与数列中最后一个元素交换位置,并将当前循环的指针向前移动一位。直到最后一个元素被选择完毕,数列就会按降序排列。下面是具体的C++代码:


#include <iostream>

using namespace std;

void selectionSort(int arr[], int n) {

  for (int i = 0; i < n - 1; i++) {

    int maxIndex = i;

    for (int j = i + 1; j < n; j++) {

      if (arr[j] > arr[maxIndex])

        maxIndex = j;

      

    }

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

  }

}

int main() {

  int arr[] = 2;

  int n = sizeof(arr) / sizeof(int);

  selectionSort(arr, n);

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

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

  }

  return 0;

}

在上面的代码中,我们首先定义了一个函数selectionSort,它接受一个整型数组arr和数组的长度n作为参数。在函数内部,我们使用两个for循环来实现选择排序。外层循环从0到n-1遍历数组,内层循环从当前指针的下一个元素开始,寻找比当前元素大的元素,记录下它的下标maxIndex。当内层循环结束后,我们将当前元素与maxIndex处的元素交换位置,这样就可以将最大的元素放到数列的末尾。

最后,在main函数中,我们定义了一个长度为6的整型数组arr,并将其传递给selectionSort函数进行排序。排序完成后,我们使用for循环输出排序后的数组元素。

总之,选择排序是一种非常实用的排序算法,其思想简单而高效,可以方便地应用到各种数据结构和算法中。在C++中,使用选择排序法实现降序排列也很容易,只需要按上述方法逐步实现即可。

  
  

评论区

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