holyya.com
2025-09-04 08:30:27 Thursday
登录
文章检索 我的文章 写文章
C++选择排序算法代码
2023-07-10 02:28:23 深夜i     --     --
C++ 选择排序 算法 代码

选择排序算法是一种简单但有效的排序算法,在C++中也有着很好的实现方法。下面让我们来看一下C++选择排序算法的代码实现。

选择排序的基本思想是:从未排序的数据中选择最小(或最大)的元素,将其与未排序的第一个元素交换位置,重复以上步骤直至排序完成。选择排序的时间复杂度为O(n^2),它的代码实现如下:


void selectionSort(int arr[], int n)

{

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

    int min_idx = i;

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

      if (arr[j] < arr[min_idx])

        min_idx = j;

    }

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

  }

}

在这段代码中,我们使用两个嵌套的循环来实现选择排序。外层循环从数组的第一个元素开始,内层循环从当前元素的后面开始,寻找最小元素的位置,并将最小元素位置与当前元素位置交换。

下面是一个使用选择排序的示例程序:


#include <iostream>

using namespace std;

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

int main()

{

  int arr[] = 22;

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

  selectionSort(arr, n);

  cout << "Sorted array: \n";

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

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

  cout << endl;

  return 0;

}

void selectionSort(int arr[], int n)

{

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

    int min_idx = i;

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

      if (arr[j] < arr[min_idx])

        min_idx = j;

    }

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

  }

}

这个示例程序将一个未排序的数组进行排序,并输出排序后的结果。运行结果如下:


Sorted array:

11 12 22 25 64

在这个示例程序中,我们首先定义了一个数组arr和它的长度n。然后使用selectionSort()函数进行排序,最后输出排序后的结果。程序比较简单,但是实现了一个经典算法,为初学者掌握选择排序提供了不错的例子。

总之,C++选择排序算法的实现非常简单,它是一种快速而常用的排序算法,适用于中小规模的数据,所以在实际开发中,选择排序还是很有用处的。

  
  

评论区

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