21xrx.com
2024-12-22 21:42:21 Sunday
登录
文章检索 我的文章 写文章
C++代码示例:简单选择排序
2023-06-29 01:03:44 深夜i     --     --
C++ 代码 选择排序 简单排序 排序算法

简单选择排序是一种基本的排序算法,它可以对一个未排序的数组进行排序。该算法的思路是:首先从数组中选择最小的数,将其放在第一个位置,然后从剩余的数中选择最小的数,将其放在第二个位置……以此类推,直到所有的数都排好序为止。下面是一个简单选择排序的C++代码示例:


#include <iostream>

using namespace std;

void selectionSort(int arr[], int n)

{

  int i, j, minIdx, temp;

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

  {

    minIdx = i;

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

    {

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

        minIdx = j;

    }

    temp = arr[minIdx];

    arr[minIdx] = arr[i];

    arr[i] = temp;

  }

}

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;

}

上述代码中的selectionSort函数实现了简单选择排序的算法。首先,我们定义了三个变量:i、j和minIdx,其中i和j用于循环遍历数组,minIdx表示当前最小值的索引。

在第一个循环中,我们从数组的第一个位置开始遍历,一直到n-1位置。在每一次循环中,我们都从剩余的位置中找到最小的数,将其记录在minIdx中。然后,我们将arr[i]和arr[minIdx]交换位置,这样arr[i]就变成了当前最小的数。然后,我们继续从i+1位置开始寻找下一个最小值。

最后,我们在main函数中调用selectionSort函数对数组进行排序,并输出排序结果。经过测试,上述代码可以正确地对数组进行排序。

  
  

评论区

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