- class Sort
- {
- public static void main(String[] args)
- {
- int[] arr=new int[]{13,25,6,18,12};
- for(int x=0;x<arr.length;x++)
- System.out.print(arr[x]+" ");
- System.out.println();
- for(int x<0;x<arr.length-1;x++)
- {
- for(int y=x+1;y<arr.length;y++)
- {
- if(arr[x]>arr[y])
- {
- swap(arr[x],arr[y]);
- }
- }
- }
- for(int i=0;i<arr.length;i++)
- System.out.print(arr+" ");
- System.out.println();
- }
- public static void swap(int a,int b)
- {
- int temp;
- temp=a;
- a=b;
- b=temp;
- }
- }
-
复制代码 在你的swap里:
public static void swap(int a,int b) //a和b被定义为局部的,只在此函数里有效
{
int temp;
temp=a; //这个交换步骤,简单说就是在自娱自乐
a=b; //swap(arr[x],arr[y]) 将arr[x],arr[y]传递给a,b
b=temp; //然后你在该方法里,把a和b的值交换了,而不是arr[x] ,arr[y]的交换。函数执行完a,b没了。而arr[x] arr[y]没变。
}
希望对你有帮助。{:soso_e181:} |