26.1.6.22 最大値を求める

前ページの方法を試してみましょう.ここでサンプルデータは,Javaシステムに備わっている乱数プログラムMath.randomを使って作ることにします.

class Sort0{
  static int n=10;
  static int a[ ]=new int[n];
  public static void main(String argv[ ]) {
    int i, j;
    Alib.prepare(a);
    Alib.show(a); Alib.ln();
    i=0;
    for(j=i+1; j < a.length; j=j+1)
         if(a[j] < a[i]) i=j;
    Alib.swap(a, 0, i);
    Alib.show(a, i, "*"); Alib.ln();
   }
}

fileSort0.java

このプログラムでは見やすいように,以下の外部メソッドを使っています.いずれもクラスAlibにあるものとしています.よって,上のプログラムだけではまだ実行できません.

31 60 27 51 35 78 16 42 70 43 16 60 27 51 35 78 *31 42 70 43

最小値(16)と先頭値(31)とが交換されています.