java冒泡排序屬于冒泡排序的一種。冒泡排序法是一種簡單的排序算法,它重復地走訪過要排序的數組,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數組的工作是重復地進行直到沒有再需要交換,也就是說該數組已經排序完成。
java冒泡排序代碼如下:
public class BubbleSort { public void bubbleSort(Integer[] arr, int n) { if (n <= 1) return; //如果只有一個元素就不用排序了 for (int i = 0; i < n; ++i) { // 提前退出冒泡循環的標志位,即一次比較中沒有交換任何元素,這個數組就已經是有序的了 boolean flag = false; for (int j = 0; j < n - i - 1; ++j) { //此處你可能會疑問的j<n-i-1,因為冒泡是把每輪循環中較大的數飄到后面, // 數組下標又是從0開始的,i下標后面已經排序的個數就得多減1,總結就是i增多少,j的循環位置減多少 if (arr[j] > arr[j + 1]) { //即這兩個相鄰的數是逆序的,交換 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; flag = true; } } if (!flag) break;//沒有數據交換,數組已經有序,退出排序 } } public static void main(String[] args) { Integer arr[] = {2, 4, 7, 6, 8, 5, 9}; SortUtil.show(arr); BubbleSort bubbleSort = new BubbleSort(); bubbleSort.bubbleSort(arr, arr.length); SortUtil.show(arr); } }
回答所涉及的環境:聯想天逸510S、Windows 10。
java冒泡排序屬于冒泡排序的一種。冒泡排序法是一種簡單的排序算法,它重復地走訪過要排序的數組,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數組的工作是重復地進行直到沒有再需要交換,也就是說該數組已經排序完成。
java冒泡排序代碼如下:
回答所涉及的環境:聯想天逸510S、Windows 10。