选择法排序。输入一个正整数n(1<n≤10),再输入n个整数,将它们从大到小排序后输出。试编写相应程序。
时间: 2024-06-17 21:05:59 浏览: 44
选择排序是一种简单直观的排序算法,它的基本思想是在未排序的数列中选择最小或最大的元素,将其放在数列的起始位置,再从剩余未排序的元素中继续选择最小或最大的元素,依次放在已排序的序列末尾,直到所有元素均排序完成。
以下是选择排序的实现过程:
1. 从待排序序列中,找到关键字最小的元素;
2. 如果该元素不是待排序序列的第一个元素,将其和第一个元素互换;
3. 从余下的 N - 1 个元素中,找出关键字最小的元素,重复步骤 2 和 3,直到排序结束。
下面是一个示例程序,可以实现将输入的 n 个整数从大到小排序后输出。
```
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
int i, j, minIndex, tmp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++)
if (arr[j] > arr[minIndex])
minIndex = j;
if (minIndex != i) {
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
}
}
int main() {
int n, arr[10];
cout << "请输入需要排序的整数个数:";
cin >> n;
cout << "请输入 " << n << " 个整数:";
for (int i = 0; i < n; i++)
cin >> arr[i];
selectionSort(arr, n);
cout << "从大到小排序后的结果为:";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)