21xrx.com
2024-12-23 01:27:22 Monday
登录
文章检索 我的文章 写文章
使用选择排序法将10个数从小到大排序并输出(C++)。
2023-06-29 10:00:50 深夜i     --     --
选择排序 从小到大 输出 C++

在C++中,选择排序法是一种简单的排序算法,它的主要思路是从未排序的数列中选择最小值并将其放在已排序的数列末尾,重复这个过程直到所有数都已排序。下面我们将使用选择排序法将10个数从小到大排序。

首先,定义一个长度为10的数组来存放这10个数,代码如下:


int arr[10] = 7;

这里我们使用了一个初始的无序数列,你可以自行修改数列的值进行测试。

接下来,我们需要编写选择排序法的代码。选择排序法的过程可以理解为遍历未排序的数列,每次找到最小值并将其放在已排序的数列末尾,如下所示:


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

  int minIndex = i; // 记录当前最小值的下标

  // 在未排序部分找到最小值

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

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

      minIndex = j;

    

  }

  // 将最小值与当前未排序部分的第一个元素交换位置

  int temp = arr[i];

  arr[i] = arr[minIndex];

  arr[minIndex] = temp;

}

在代码中,我们使用两层循环,外层循环遍历未排序的数列,内层循环在未排序部分找到最小值的下标,然后将该最小值与当前未排序部分的第一个元素交换位置,最后实现了选择排序的功能。

最后,我们输出排好序后的数列:


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

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

}

完整的代码如下:


#include <iostream>

using namespace std;

int main() {

  int arr[10] = 4;

  // 选择排序法排序

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

    int minIndex = i; // 记录当前最小值的下标

    // 在未排序部分找到最小值

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

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

        minIndex = j;

      

    }

    // 将最小值与当前未排序部分的第一个元素交换位置

    int temp = arr[i];

    arr[i] = arr[minIndex];

    arr[minIndex] = temp;

  }

  // 输出排好序后的数列

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

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

  }

  return 0;

}

运行该程序,可以得到以下输出:


1 2 3 4 5 6 7 8 9 10

如此便使用选择排序法将10个数从小到大排序并输出了。

  
  

评论区

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