実際のソートアルゴリズムの並べ替えを選択

エクササイズエクササイズ!

輸入java.util.Arrays。

/ **
 * @Date:2019年11月24日午前9時20分
 * @King!:ノー血なし骨なし灰!!!
 * / 
パブリック クラスTestSelectionSort {
   公共 静的 ボイドメイン(文字列[]引数){
     / **
     *配列を定義
     * / 
    int型 [] ARR = 新しい int型 [7 ]。
    [ARR 0] = 31 
    [ARR 1] = 13 
    [ARR 2] = 21 
    [ARR 3] = 33 
    [ARR 4] = 10 
    [ARR 5] = 25 
    【ARR 6] = 11 / **
     ご注文の前に*出力
     * / 
    (System.out.printlnは "フロントソート:" + Arrays.toString(ARR)の);
     / **
     *ソート方法二つのオプションを呼び出し、その結果を出力します
     * /
    selectionSortI(ARR)。
    System.out.println( "ソートなし後の戻り値の種類:" + Arrays.toStringの(ARR));
    selectionSortII(ARR)。
    System.out.println( "タイプをソート後戻り値:" + Arrays.toString(ARR)の)。
  }

  / **
   *なし戻り値の型は、検索を選択していません
   * / 
  パブリック 静的 ボイド selectionSortI(INT []配列){
     / **
     *倍の外側のループの順序の数
     * / 
    のためにINT I 0 =、iが<Array.lengthと- 1; iが++ ){
       ためINT J = I; J <Array.lengthと- 1; J ++ ){
         / **
         *最小の各トリップ・サイクル開始位置の要素を仮定すると、添字はminIndex iは=
         * / 
        のInt minIndex = I;
        / **
         *添字minIndex割り当てられた周期トリップ素子アレイ[minIndex]の端部よりも小さい見つかっ
         *最小要素サイクルへの旅行の終了と開始素子交換位置後
         * / 
        もし(配列[minIndex]>配列[J + 1 ]){
          minIndex = J + 1 ;
        }
        INT TEMP = 配列[minIndex]。
        配列[minIndex] = 配列[i]は、
        配列[I] = TEMP。
      }
    }
  }
  / **
   *戻り値の型を選択し検索を持っています
   * / 
  パブリック 静的 INT [] selectionSortII(INT []配列){
     場合(Array.lengthと== 0 ){
       戻りアレイ。
    }
    以下のためにINT I 0 =; I <Array.lengthと- 1; I ++ ){
       int型 minIndex = I。
      INT < - ; J J ++ 1 Array.lengthとJ = {)
         であれば(配列[J + 1アレイ[minIndex]> ]){
          minIndex = J + 1 ;
        }
        INT TEMP = 配列[minIndex]。
        配列[minIndex] = 配列[i]は、
        配列[I] = TEMP。
      }
    }
    戻り値の配列。
  }
}

結果:

注文前に[31、13、21、33、10、25、11 ]
なし戻り値型分類後:[ 10、11、13、21、25、31、33 ]
ソートは、戻り値型をした後に[ 10、11、13、21、25、31、33]

癖の堅牢性を確保するためのプログラムを開発するために彼らのプログラムを作成してみてください!

おすすめ

転載: www.cnblogs.com/sinoaccer/p/11921539.html