java陣列氣泡排序
阿新 • • 發佈:2018-12-20
public class BubbleSort { /** * N個數字要排序完成,總共進行N-1趟排序,每i趟的排序次數為(N-i)次,所以可以用雙重迴圈語句,外層控制迴圈多少趟,內層控制每一趟的迴圈次數。 * @param args */ public static void main(String[] args) { int arr[] = {26,15,29,66,99,88,36,77,111,1,6,8,8}; for(int i=0;i < arr.length-1;i++) {//外層迴圈控制排序趟數 for(int j=0; j< arr.length-i-1;j++) { //內層迴圈控制每一趟排序多少次 // 把小的值交換到前面 if (arr[j]>arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } System.out.print("第"+(i+1)+"次排序結果:"); //列舉每次排序的資料 for(int a=0;a<arr.length;a++) { System.out.print(arr[a] + "\t"); } System.out.println(""); } System.out.println("最終排序結果:"); for(int a = 0; a < arr.length;a++) { System.out.println(arr[a] + "\t"); } } }
輸出結果:
第1次排序結果:15 26 29 66 88 36 77 99 1 6 8 8 111 第2次排序結果:15 26 29 66 36 77 88 1 6 8 8 99 111 第3次排序結果:15 26 29 36 66 77 1 6 8 8 88 99 111 第4次排序結果:15 26 29 36 66 1 6 8 8 77 88 99 111 第5次排序結果:15 26 29 36 1 6 8 8 66 77 88 99 111 第6次排序結果:15 26 29 1 6 8 8 36 66 77 88 99 111 第7次排序結果:15 26 1 6 8 8 29 36 66 77 88 99 111 第8次排序結果:15 1 6 8 8 26 29 36 66 77 88 99 111 第9次排序結果:1 6 8 8 15 26 29 36 66 77 88 99 111 第10次排序結果:1 6 8 8 15 26 29 36 66 77 88 99 111 第11次排序結果:1 6 8 8 15 26 29 36 66 77 88 99 111 第12次排序結果:1 6 8 8 15 26 29 36 66 77 88 99 111 最終排序結果: 1 6 8 8 15 26 29 36 66 77 88 99 111