- /*
- 对给定数组进行排序。
- {5,1,6,4,2,8,9}
- */
- class ArrayTest2
- {
- 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])
- {
- swap(arr,x,y);
- }
- }
- }
- }
-
- public static void swap(int[]arr,int a,int b)
- {
- int temp=arr[a];
- arr[a]=arr[b];
- arr[b]=temp;
- }
-
-
- public static void main(String[] args)
- {
- int[] arr={5,1,6,4,2,8,9};
- //在排序前打印。
- printArray(arr);
- selectSort(arr);
- //在排序后打印。
- printArray(arr);
- }
-
- public static void printArray(int[] arr)
- {
- System.out.print("[");
- for(int x=0;x<arr.length;x++)
- {
- if(x!=arr.length-1)
- System.out.print(arr[x]+", ");
- else
- System.out.println(arr[x]+"]");
- }
- }
- }
复制代码 大家好!代码中这句public static void selectSort(int[] arr)
参数类型为什么是int[] arr呢?如果你指定了一个数组,那么数组不就是确定的了嘛,对不对呀
始终想不明白,我没有觉得我钻牛角尖哦, 求大神解释下 谢谢了。
|