バブルソート-java

1634 ワード

バブルソートはアルゴリズムにおける古典的なソート方法の一つである.名前もイメージ的で、全体の過程は泡が上に漂っていると見ることができて、最終的に最も軽い泡が出てきました(物理の法則はともかく......)、2回目のスキャンで、「次が軽い」泡が出てきて、このように押します.
 バブルソートルールは,配列にN項があればN−1回ソートして最終結果を得ることができる.例えば配列score[]={3,5,1,8,2}は小さい順に左から右へ、3と5が比較的5大きく、交換しない.5と1が5より大きい場合、1と5の位置を交換します.このように、5と8、8と2では、最初のソートは最大数を右端に置くので、ソート回数を増やすたびに比較する必要がある要素が減少します.
コード参照先http://www.cnblogs.com/wuzhenbo/archive/2012/03/30/2423861.html 
1   public class BubbleSort{
 2      public static void main(String[] args){
 3          int score[] = {67, 69, 75, 87, 89, 90, 99, 100};
 4          for (int i = 0; i < score.length -1; i++){    
 5              for(int j = 0 ;j < score.length - i - 1; j++){    
6              if(score[j] < score[j + 1]){    //         
 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  }