7-2 选择法排序 本题要求将给定的n个整数从大到小排序后输出。
时间: 2023-09-05 17:10:37 浏览: 93
以下是选择法排序的 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, a[100];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n - 1; i++) {
int max_idx = i;
for (int j = i + 1; j < n; j++) {
if (a[j] > a[max_idx]) {
max_idx = j;
}
}
swap(a[i], a[max_idx]);
}
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
算法思路:
选择法排序是一种简单的排序算法,基本思路是每次从未排序的数列中选择最大(或最小)的数,放到已排序数列的末尾。具体实现时,从未排序的数列中选择最大的数,与未排序数列的第一个数交换位置,然后从剩下的未排序数列中选择最大的数,与未排序数列的第二个数交换位置,以此类推,直到所有数都排序完毕。
时间复杂度:O(n^2)。
阅读全文