为什么这样写输出没有排序
public static void arraySort1(int[] arr)
{
for (int i=0; i<arr.length-1;i++ )
{
for (int j=0;j<arr.length-i-1 ;j++ )//-x让每一次参与比较的角标减少,-1避免越界
{
if (arr[j]>arr[j+1])
{
swap(arr[j],arr[j+1]);
}
}
}
}
public static void swap(int a,int b)// 这个是错的,正确的应该是:public static void swap(int[] arr,int a,int b){ int temp=arr[a]; arr[a]=arr[b]; arr[b]=arr[a];} 上方对应的语句应该是,swap(arr,j,j+1);,我想知道这个为什么不行。
{
int temp=a;
a=b;
b=temp;
} |
|