排序不知道哪错了,该怎么处理
排序不知道哪错了
------解决方案--------------------
将array[j]=key;放到while循环里面去,修改之后:
#include <stdio.h>
int main(void)
{
long array[5]={5,4,3,2,1};
int i,j,key;
for(i=1;i<5;i++)
{
key=array[i];
j=i-1;
while(j>=0 && array[j]>key)
{
array[j+1]=array[j];
j--;
}
array[j]=key;
}
for(i=0;i<5;i++)
printf("%d",array[i]);
}
------解决方案--------------------
将array[j]=key;放到while循环里面去,修改之后:
long array[5]={5,4,3,2,1};
int i,j,key;
for(i=1;i<5;i++)
{
key=array[i];
j=i-1;
while(j>=0 && array[j]>key)
{
array[j+1]=array[j];
array[j]=key;
j--;
}
}
for(i=0;i<5;i++)
printf("%d",array[i]);