1、快速排序:首先是最簡單的Array.sort,直接進行排序:
public static void main(String[] args) {
int[] arr = {4,3,5,1,7,9,3}; Arrays.sort(arr); for (int i : arr){ System.out.println(i); }
點擊運行即可輸出已排序的數組數字。
2、部分排序法:使用Array.sort還可進行選擇想要排序的部分數字,如將下角標編號為1~4的數字進行排序,其他數字順序不變。
public static void main(String[] args) {
int[] arr = {4,3,5,1,2,9,3,0}; Arrays.sort(arr,1,4); for (int i = 0;i<arr.length;i++){ System.out.print(arr[i]+","); } }
輸出結果為:4,1,3,5,2,9,3,0, 可見僅下標為1~4的數字進行了排序。
3、冒泡排序法:顧名思義,從下到上,兩兩進行比較,越小的越往上,從而形成由小到大的排序。
public static void bubble(int[] arr){ int temp; //根據角標進行比較, for(int i = 0; i<arr.length; i++){ //j是數組的最后一個角標 for (int j = arr.length-1; j > i; j--) { if (arr[j] < arr[j - 1]) { //從后往前進行比較,小數往前,一輪之后最小數就在最前面了 temp = arr[j - 1]; arr[j - 1] = arr[j]; arr[j] = temp; } } } } public static void main(String[] args) { int[] arr = {3,22,5,3,66,2,9}; bubble(arr); //使用foreach循環輸出 for(int x : arr){ System.out.println(x); } //使用字符串表達形式輸出,輸出形式更為直觀 System.out.println(Arrays.toString(arr)); }