选择排序算法的时间复杂度为O(n²)
【输入描述】
输入两行。第一行输入数组大小 n 。第二行输入 n 个数字。
【输出描述】
输出一行。输出排序后的数字。
【输入样例】
8
7 13 4 5 8 1 11 9
【输出样例】
1 4 5 7 8 9 11 13
【参考程序】
//爱码岛编程
#include <iostream>
using namespace std;
int arr[10001];
int main() {
int n;
cin >> n;
//输入n个数字
for (int i = 0; i < n; i++)
cin >> arr[i];
//选择排序(升序)
for (int i = 0; i < n; i++) {
int minIdx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIdx]) //降序改成>
minIdx = j;
}
if (i != minIdx) {
swap(arr[i], arr[minIdx]);
}
}
//排序结果
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}