4433: 【例9-2】数列排序-插入排序
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
将读入的 个数从小到大排序后输出。请使用插入排序的方法。
输入
第一行为一个正整数 。
第二行包含 个空格隔开的正整数 ,为你需要进行排序的数。
输出
将给定的 个数从小到大输出,数之间空格隔开,行末换行且无空格。
样例输入 复制
5
4 1 9 5 1
样例输出 复制
1 1 4 5 9
提示
#include<bits/stdc++.h> using namespace std; const int N = 1010; int n, a[N]; int main() { cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 1; i < n ; i++) { int now = a[i] , j; for (j = i-1; j >= 0; j--) if (a[j] > now) a[j + 1] = a[j]; else break; a[j + 1] = now; } for (int i = 0; i < n; i++) cout << a[i] << " "; return 0; }