Java 冒泡排序和選擇排序是兩種非常常用的排序算法。這兩種算法都有各自的特點,適用于不同類型的數據。
// Java 冒泡排序代碼 public static void bubbleSort(int[] arr) { int n = arr.length; int temp = 0; for (int i = 0; i< n - 1; i++) { for (int j = 0; j< n - i - 1; j++) { if (arr[j] >arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
以上是 Java 中的冒泡排序代碼。冒泡排序的思路是每次將一個數與數組中其余的數進行比較,將較大的數往后移動。重復 n 次后,排序完成。冒泡排序的時間復雜度為 O(n2),算法簡單,但是效率較低,不適用于大規(guī)模的數據。
// Java 選擇排序代碼 public static void selectionSort(int[] arr) { int n = arr.length; int minIndex, temp; for (int i = 0; i< n - 1; i++) { minIndex = i; for (int j = i + 1; j< n; j++) { if (arr[j]< arr[minIndex]) { minIndex = j; } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } }
以上是 Java 中的選擇排序代碼。選擇排序的思想是每次從剩余未排序的數中選擇最小的數,放到已排序數列的末尾。遍歷多次后,數組排序完成。選擇排序的時間復雜度為 O(n2),與冒泡排序相同。但是,選擇排序算法的常數因子小于冒泡排序,因此在較大規(guī)模數據下,選擇排序算法的效率高于冒泡排序。
上一篇vue懶加載js
下一篇docker啟動是開機嗎