插入排序
插入排序,时间复杂度为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 = 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;
}