21xrx.com
2025-04-13 12:49:23 Sunday
文章检索 我的文章 写文章
C++实现选择排序算法——对10个数进行排序
2023-06-25 03:18:40 深夜i     14     0
C++ 选择排序算法 10个数 排序

选择排序算法是一种简单的排序算法,通过不断地选择未排序部分中的最小值,并将其放到已排序部分的末尾,来完成排序。在本文中,我们将使用C++语言实现选择排序算法,对10个数进行排序。

首先,我们需要定义一个数组,用来存储需要排序的10个数。在本例中,我们将数组命名为“arr”,同时将10个数按照任意顺序存储在数组中。代码如下:

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;
    
  }
  if(minIndex != i){
    int temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }
}

在这段代码中,我们使用两个变量“i”和“j”来完成循环遍历数组。在第二重循环中,我们定义了一个变量“minIndex”,用来存储未排序部分中的最小值的下标。当我们找到了一个比当前最小值更小的值时,我们就将其下标赋值给“minIndex”。

在第二重循环结束后,我们判断“minIndex”是否等于“i”,若不等于则说明找到了最小值并需要进行交换。我们定义了一个临时变量“temp”,用来存储当前位置的值,并将最小值与当前位置的值进行交换。

最后,我们输出排序后的数组,代码如下:

for(int i = 0; i < 10; i++){
  cout << arr[i] << " ";
}

完整代码如下:

#include <iostream>
using namespace std;
int main(){
  int arr[10] = 1;
  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;
      
    }
    if(minIndex != i){
      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个数的选择排序。通过这个实例,我们可以看到选择排序算法的基本流程,并学会了如何使用C++语言来实现它。

  
  

评论区

请求出错了