给出若干个数,将数字存储在数组中,然后使用插入排序,按照升序排列输出数字。
输入一个整数n表示有n个数,接着输入这n个数。
按照升序输出这n个数。
#include<stdio.h>
int main() {
int a[1000];
int n, i, j, temp;
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
scanf_s("%d",&a[i]);
}
for (i = 1; i < n; i++) {
temp = a[i];
for (j = i - 1; j >= 0 && a[j] > temp; j -- );
for (int k = i; k > j + 1; k -- ) {
a[k] = a[k - 1];
}
a[j + 1] = temp;
}
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}