- public static void selectSort(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])
- {
- ChangePlace.changePlace2(arr[x],arr[y]);
- }
- }
- }
- }
复制代码 以上为我的排序方法。调用了ChangePlace类中的交换方法。- public class ChangePlace
- {
- public static void changePlace(int[]arr,int a,int b)
- {
- int temp;
- temp=arr[a];
- arr[a]=arr[b];
- arr[b]=temp;
- }
- public static void changePlace2(int a,int b)
- {
- int temp=a;
- a=b;
- b=temp;
- }
- }
复制代码 这两个交换位置的方法只有changePlace才起作用,数组会排序,但是用changePlace2时就不起作用,数组不会排序。
这是为什么?
|
|