21xrx.com
2024-11-22 09:40:30 Friday
登录
文章检索 我的文章 写文章
C++选择排序算法:从小到大排序
2023-06-27 00:03:03 深夜i     --     --
C++ 选择排序 算法 从小到大 排序

选择排序是一种简单且易理解的排序算法,由于其简单性和易实现性,被广泛用于计算机科学的教育中。C++选择排序算法是一种从小到大进行排序的方法,它的实现过程相对简单,只需要一个循环就可以完成。

选择排序算法的基本思路是在数组中找到最小数,将其放在数组的起始位置,然后再在剩余部分中找到最小数,将其放在已排好序的最后一个数的后面,一直重复该过程直到数组中的所有数都排好序。选择排序的时间复杂度为O(n^2),它是一种不太高效的排序算法,但对于小规模数据或者已有一定顺序的数据,它还是比较适用的。

下面是C++选择排序算法的示例代码:


void selectionSort(int arr[], int n)

{

  int i, j, min_idx;

  // One by one move boundary of unsorted subarray

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

  {

    // Find the minimum element in unsorted array

    min_idx = i;

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

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

      min_idx = j;

    // Swap the found minimum element with the first element

    int temp = arr[min_idx];

    arr[min_idx] = arr[i];

    arr[i] = temp;

  }

}

这段代码中,数组arr[]是待排序的数组,n是该数组中元素的数量。外层循环从数组的第一个元素开始,内层循环找到最小的元素,并在外层循环结束时将其放在合适的位置。

使用C++选择排序算法进行排序只需要几步简单的操作。首先,定义一个待排序的数组,然后调用selectionSort函数,将该数组和数组元素的数量传递给函数,即可完成排序。


#include <iostream>

using namespace std;

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] << " ";

  return 0;

}

输出结果:


Sorted array:

11 12 22 25 64

通过C++选择排序算法,我们可以轻松地对数组进行排序,让其从小到大排列。当然,选择排序算法并不是最优的排序算法之一,但它是理解排序算法的好方法。阅读和理解其实现过程,对成为一名优秀的程序员是非常有帮助的。

  
  

评论区

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