Files
ClassFeedback/C++代码/CSP04/02-简单排序/02选择排序实现.cpp

39 lines
542 B
C++

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
int n;
int arr[100100];
void selection(int n) {
for(int i = 1; i <= n; i++) {
int maxx = arr[i]; // 当前这个数是最大的
int idx = i;
for(int j = i + 1; j <= n; j++) {
// 打擂台
if(arr[j] > maxx) {
maxx = arr[j];
idx = j;
}
}
if(arr[i] != maxx) {
swap(arr[i], arr[idx]);
}
}
}
int main() {
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> arr[i];
}
selection(n);
for(int i = 1; i <= n; i++) {
cout << arr[i] << " ";
}
return 0;
}