整列のアルゴリズム:交換法(バブルソート)

Advertisement

交換法(バブルソート)

データが格納してある配列を左端から右に向かって、隣り合った要素と比較する。データの大小関係が逆の場合(昇順、降順によって異なる)要素を交換する。

比較回数が多いため、データが多い場合、ソートにかかる時間も多くなる。

方法

  1. 配列の1番目の要素と2番目の要素を比較する。
  2. 大小関係が逆なら、要素を交換する。。
  3. 次に2番目と3番目を比較する。
  4. 配列の最後まで比較すると、一番最後の要素が確定するので、また最初に戻って比較・交換を繰り返す。

実現

class Sort{
    /*
    * バブルソート
    * 引数1:ソートする配列
    * 戻り値:なし
    */
    public static void bubblesort(int[] ary){
        for(int i = ary.length - 1; i > 0; i--){
            for(int j = 0; j < i; j++){
                if(ary[j] > ary[j + 1]){
                    //交換
                    int w = ary[j];
                    ary[j] = ary[j + 1];
                    ary[j + 1] = w;
                }
            }
        }
    }
}

Advertisement

ショートカット

634トップページ
このカテゴリのトップページに戻る
634ラボ

サイト検索

Google

Web サイト内

Y!ログール