21xrx.com
2024-12-27 20:55:46 Friday
登录
文章检索 我的文章 写文章
C++选择排序算法代码
2023-07-09 09:20:51 深夜i     --     --
C++ 选择排序 算法代码

选择排序是一种简单而有效的排序算法,可以快速将任意长度的数组按照从小到大或从大到小的顺序排列。这种排序算法的思想是通过反复选择最小或最大的元素并交换位置来达到排序的目的。

C++语言提供了一种简单的方式来实现选择排序算法。以下是一段基于C++的选择排序代码,它可以对一个整形数组进行排序。


#include <iostream>

using namespace std;

void selectionSort(int arr[], int n)

{

  int i, j, min_idx;

  // 遍历整个数组

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

  {

    // 假设当前位置的元素是最小的

    min_idx = i;

    // 在后面的元素中查找最小值

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

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

        min_idx = j;

    // 将找到的最小元素与当前位置交换

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

  }

}

int main()

{

  int arr[] = 64;

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

  selectionSort(arr, n);

  cout << "Sorted array: ";

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

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

  cout << endl;

  return 0;

}

选择排序的核心算法包括两个嵌套循环。外层循环用于遍历整个数组,而内层循环则用于查找后面的元素中的最小值。一旦找到最小值,就将其与当前位置的元素进行交换。由于这个算法会遍历整个数组,因此其时间复杂度为O(n^2)。然而,这种算法的空间复杂度比较小,只需要几个额外的变量来完成。

如果您需要对一个数组进行排序,那么选择排序是一种可靠而有效的算法。通过简单的编程就可以实现选择排序,您可以在程序中轻松使用它来快速排序一个整形数组。

  
  

评论区

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