21xrx.com
2024-11-22 02:19:43 Friday
登录
文章检索 我的文章 写文章
C++实现选择排序算法——对10个数进行排序
2023-06-25 03:18:40 深夜i     --     --
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++语言来实现它。

  
  

评论区

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