插入排序,时间复杂度为O(n2)。
【输入样例】
8
7 13 4 5 8 1 11 9
【输出样例】
1 4 5 7 8 9 11 13
【参考程序】
//爱码岛编程
#include <iostream>
using namespace std;
int arr[10005];
int main() {
int n;
cin >> n;
//输入n个数字
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
//插入排序(升序)
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) { //降序改成<
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
//排序结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}