使用选择法对数组的10个整数按照从大到小的顺序进行排序
时间: 2024-03-21 11:41:29 浏览: 37
好的,针对您的问题,我可以给出以下的选择排序算法的C++实现代码:
```cpp
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
int i, j, max_idx;
for (i = 0; i < n - 1; i++) {
max_idx = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[max_idx]) {
max_idx = j;
}
}
swap(arr[i], arr[max_idx]);
}
}
int main() {
int arr[10] = { 4, 7, 2, 8, 1, 9, 3, 5, 10, 6 };
int n = 10;
selectionSort(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
这个选择排序算法的基本思路是:每次从未排序的序列中找到最大(或最小)的元素,将其放到已排序的序列的末尾。
在这个C++实现中,我们定义了一个 `selectionSort` 函数,它接受两个参数:待排序的数组 `arr` 和数组的元素个数 `n`。在函数中,我们使用两个循环来实现选择排序的核心逻辑。外层循环用于控制排序的轮数,每一轮中我们都会在未排序的部分中找到一个最大值,并把它交换到已排序的部分的末尾。内层循环用于遍历未排序的部分,用来找到最大值。
最后,我们在 `main` 函数中定义了一个长度为10的数组,然后调用 `selectionSort` 函数对它进行排序,并输出排序后的结果。