1 import java.util.Arrays; 2 3 public class BubbleSort { 4 5 private static int[] intArray = { 100, -2, 56, 65, 46, 488, 145, 666, 555, 71, 0, 1, 65, 68 }; 6 7 public static void bubbleSort(int[] intArray) { 8 for (int i = 0; i < intArray.length - 1; i++) { 9 for (int j = 0; j < intArray.length - 1 - i; j++) {
//j值的範圍隨着i值增長而減少。外層每一趟循環,較大的元素浮到頂端以前。 10 if (intArray[j] > intArray[j + 1]) { 11 int temp = intArray[j]; 12 intArray[j] = intArray[j + 1]; 13 intArray[j + 1] = temp; 14 } 15 } 16 } 17 System.out.println(Arrays.toString(intArray)); 18 } 19 20 21 public static void main(String[] args) { 22 bubbleSort(intArray); 23 } 24 }
//排序後結果:[-2, 0, 1, 46, 56, 65, 65, 68, 71, 100, 145, 488, 555, 666]
冒泡排序的基本思想是,對相鄰的元素進行兩兩比較,順序相反則進行交換,這樣,每一趟會將最小或最大的元素「浮」到頂端,最終達到徹底有序。以下圖java