#include<stdio.h>
int main()
{
int a[100];
int n;
int i,j,temp;
printf("请输入数组长度\n");
scanf("%d",&n);
printf("请输入数组元素\n");
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=1;i<n;i++)//第一个数已经有序
{
temp=a[i];//temp用来保存待插入的数(因为后面这个位置要被覆盖掉)
for (j=i-1;j>=0&&a[j]>temp;j--)//边判断边保存
a[j+1]=a[j];
a[j+1]=temp;//我们思考一下如果该数列本来就是顺序排列的,那会怎么样,会出错吗?
}
for (i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
int main()
{
int a[100];
int n;
int i,j,temp;
printf("请输入数组长度\n");
scanf("%d",&n);
printf("请输入数组元素\n");
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=1;i<n;i++)//第一个数已经有序
{
temp=a[i];//temp用来保存待插入的数(因为后面这个位置要被覆盖掉)
for (j=i-1;j>=0&&a[j]>temp;j--)//边判断边保存
a[j+1]=a[j];
a[j+1]=temp;//我们思考一下如果该数列本来就是顺序排列的,那会怎么样,会出错吗?
}
for (i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}