import java.util.*; //选择排序 class SwitchTest { public static void main(String[] args) { int[] arr = {3,5,6,23,45,2}; //排序前 printArray(arr); //排序后 // selectSort(arr); Arrays.sort(arr);//java中已经定义好的一种排序方式,开发中,对数组排序,要使用该句代码 // bubbleSort(arr); printArray(arr); } /* 发现无论什么排序,都需要对满足条件的元素进行位置置换。 所以可以把这部分相同的代码提取出来,单独封装成一个函数 */ public static void swap(int[] arr,int a,int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } //冒泡排序 public static void bubbleSort(int[] arr) { for(int x=0;x<arr.length-1;x++) { for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少,-1,避免越界 { if(arr[y]>arr[y+1]) { int temp = arr[y]; arr[y] = arr[y+1]; arr[y+1] = temp; } } } } //选择排序 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]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } 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]+"]"); } } }