Java冒泡排序

冒泡排序(Bubble Sort)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,若是他們的順序錯誤就把他們交換過來。走訪數列的工做是重複地進行直到沒有再須要交換,也就是說該數列已經排序完成。這個算法的名字由來是由於越小的元素會經由交換慢慢「浮」到數列的頂端。算法

  冒泡排序算法的運做以下:spa

  1.  比較相鄰的元素。若是第一個比第二個大,就交換他們兩個。
  2.  對每一對相鄰元素做一樣的工做,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
  3.  針對全部的元素重複以上的步驟,除了最後一個。
  4.  持續每次對愈來愈少的元素重複上面的步驟,直到沒有任何一對數字須要比較。

       冒泡排序的過程圖:code

Java代碼實現以下:blog

 1 public class BubbleSort {
 2      public static void main(String[] args){
 3                    int score[] = {60,80,75,65,89,90,100,59};
 4                    for (int i=0; i<score.length-1;i++){         //外層控制排序趟數,最多作n-1趟排序
 5                        for(int j=0;j<score.length-i-1;j++){    //內層循環控制每一趟排序多少次
 6                            if(score[j+1] < score[j]){        //把小的值交換到前面
 7                                int temp = score[j];
 8                                score[j] = score[j + 1];
 9                                score[j + 1] = temp;
10                           }
11                       }            
12                       System.out.print("" + (i + 1) + "次排序結果:");
13                       for(int a = 0; a < score.length; a++){
14                           System.out.print(score[a] + "\t");
15                       }
16                       System.out.println("");
17                   }
18                       System.out.print("最終排序結果:");
19                       for(int a = 0; a < score.length; a++){
20                          System.out.print(score[a] + "\t");
21                 }
22              }
23     }

 

相關文章
相關標籤/搜索