Java的选择排序。
Java选择排序的思想(以从小到大排序为例,从大到小排序于此相同):
在arr[0]到arr[n-1]中选出最小(大)的的数与arr[0]交换位置,
在arr[1]到arr[n-1]中选出最小(大)的的数与arr[1]交换位置,
在arr[2]到arr[n-1]中选出最小(大)的的数与arr[2]交换位置,
. . .
. . .
. . .
在arr[n-2]到arr[n-1]中选出最小(大)的的数与arr[n-2]交换位置,
操作方法
- 01
新建一个新的Java项目,名字按照个人喜好,如:SelectionSortDemo,并在当中写好main方法。在main函数中新建一个int类型数组,如:{6,1,5,7,8,3,4,2}。
- 02
排序的代码: public static void selectionSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } }
- 03
每次排序结果的查看和代码: public static void selectionSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } getPrint(i, arr); } } public static void getPrint(int i,int[] arr){ System.out.print("第"+(i+1)+"次排序的结果:"); for(int j: arr){ System.out.print(j+" "); } System.out.println(); }
- 04
main函数中调用方法,run as执行查看结果, public static void main(String[] args) { // 新建一个数组 int[] arr = { 6, 5, 1, 7, 8, 3, 4, 2 }; System.out.print("排序前: "); for (int i : arr) { System.out.print(i + " "); } System.out.println(); selectionSort(arr); System.out.print("排序后: "); for (int i : arr) { System.out.print(i + " "); } }