选择法从大到小排序:输入一个正整数n,再输入n个整数,将它们从大到小排序后输出
时间: 2024-11-25 14:16:58 浏览: 10
设有n个正整数,将他们连接成一排,组成一个最大的多位整数
以下是选择排序从大到小排序的C++代码实现:
```c++
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int maxIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
swap(arr[i], arr[maxIndex]);
}
}
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
selectionSort(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
选择排序的基本思想是每次从未排序的数中选出最大(或最小)的数,放到已排序数列的末尾。在这个实现中,我们每次找到未排序数列中最大的数,然后将其与未排序数列的第一个数交换位置,这样就可以将最大的数放到已排序数列的开头。重复这个过程,直到所有数都被排序。
阅读全文