SimpleSort.java



/** ソートのアルゴリズム(選択法) */
public class SimpleSort {

  /** 確認用のサンプルデータ */
    private static int[] test
                          = { 10, 75, 24, 32, 98,
                              72, 88, 43, 60, 35,
                              54, 62,  2, 12, 82,
                            };

  /** 処理の開始のメソッド(確認用) */
    public static void main( String[] argv ) {

   //ソートの作業
        sort( test );

   //ソートの結果の確認
        for( int i=0; i<test.length; i++ ) {
            System.out.println( (i+1) + ":" + test[i] );
        }
    }

  /** ソートの処理を実行するメソッド */
    public static void sort( int[] array ) {

        for( int i=0; i<array.length-1; i++ ) {
            maxN( array, i );
        }
    }

  /** 与えられた配列の n番目以降から最大値を探し、
      最大値とn番目の値を交換する */
    public static void maxN( int[] array, int n ) {

        int max = array[n];
        int maxIndex = n;
        for( int i=n+1; i<array.length; i++ ) {
             if( array[i] > max ) {
                 max = array[i];
                 maxIndex = i;
             }
        }
        array[maxIndex] = array[n];
        array[n] = max;
    }
}