int a[]={4,0,2,3,1},i,j,t;
for(i=1;i<5;i++)
{
t=a[i];
j=i-1;
while(j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
从程序逻辑易知当后一个数大于前一个数时,两个数交换,所以最终是降序排列的,因为程序是重新设定了一个变量j来组建一个新的数组,所以该排序为插入排序。
int a[]={4,0,2,3,1},i,j,t;
for(i=1;i<5;i++)
{
t=a[i];
j=i-1;
while(j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
从程序逻辑易知当后一个数大于前一个数时,两个数交换,所以最终是降序排列的,因为程序是重新设定了一个变量j来组建一个新的数组,所以该排序为插入排序。