循环写的不太对呢,既然y是x+1, 自然是到最后一位,而x应该到倒数第二位,修改后如下:
public class Test
{
public static void main(String[] args)
{
int[] arr={5,1,6,4,2,8,9};
sort(arr);
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
public static void sort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
for(int y=x+1;y<arr.length;y++)
if(arr[x]<arr[y])
{
int tmp=arr[x];
arr[x]=arr[y];
arr[y]=tmp;
}
}
}
已测试,附图:
|