1 void bubbleSort(int a[], int n) { // 傳入陣列 a 和元素個數 n2 for (int i = 0; i < n-1; i++) { // 外層:共要跑 n-1 輪3 for (int j = 0; j < n-1-i; j++) { // 內層:每輪比較相鄰兩數4 if (a[j] > a[j+1]) { // 若左邊比右邊大就要交換5 int tmp = a[j]; // 暫存左邊的值6 a[j] = a[j+1]; // 右邊較小,搬到左邊7 a[j+1] = tmp; // 暫存的較大值放到右邊8 } // 交換結束9 } // 內層結束:最大的數已冒泡到本輪最右10 } // 外層結束11 } // 排序完成,a[] 由小到大