@634

整列のアルゴリズム:選択法

Advertisement

選択法

配列の中で一番小さい(もしくは一番大きい)データを選んで一番先頭(もしくは一番後ろ)の要素と交換。これを繰り返すことでソートを行う。

方法

昇順にならべる場合
  1. 配列の中で一番大きいデータを探す
  2. 配列の一番後ろの要素と交換する
  3. 一番後ろの要素以外で一番大きいデータを探す
  4. 後ろから2番目の要素と交換
  5. 以下、繰り返し

実現

class Sort{
    /*
    * 選択法でソート
    * 引数1:ソートする配列
    * 戻り値:なし
    */
    public static void choiceSort(int[] d){
        for(int i = 0; i < d.length; i++){
            //最小値検索
            int min = i;
            for(int j = i + 1; j < d.length; j++){
                if(d[min] > d[j]){
                    min = j;
                }
            }

            //交換
            int w = d[i];
            d[i] = d[min];
            d[min] = w;
        }
    }
}

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール