標籤:冒泡演算法 標記 gpo java for 分享 完成 數字 system
Java冒泡演算法算是最常見的演算法之一了。那麼什麼是冒泡演算法呢?如所示(圖片來自網路):
其實可以看到,第一遍的遍曆過程中,首先比較第一對數字,比較交換完成後第二個數字一定是比較大的,接下來比較第二對,同樣進行比較交換,那麼這個時候第三個數一定是較大的,這樣所有的數對比較完成之後,最大的數字就會冒泡到數組的最右側。接下來第二輪就可以把第二大的數放在右側數第二個位置上,以此類推...當遍曆一遍沒有可以交換的數位時候,就說明這個隊列已經是有序的了。
1 public static void main(String[] args) { 2 int[] arr = {11, 13, 10, 34, 31, 24, 15, 16, 26, 9, 16, 4992, 356}; 3 bubbleSort(arr);//排序完成,數字為9,10,11,13,15,16,16,24,26,31,34,356,4992, 4 } 5 6 7 public static void bubbleSort(int[] arr) { 8 for (int i = 0; i < arr.length - 1; i++) { 9 boolean flag = true;//設定一個標記,若為true,則表示排序已然完成。10 for (int j = 0; j < arr.length - 1 - i; j++) {11 if (arr[j] > arr[j + 1]) {12 int temp = arr[j];13 arr[j] = arr[j+1];14 arr[j+1] = temp;15 flag = false;16 }17 }18 if (flag) {19 System.out.print("排序完成,數字為");20 for (int i1 : arr) {21 System.out.print(i1+",");22 }23 break;24 }25 }26 27 }
演算法(1)——Java冒泡演算法