class Minsort
{ static int[] feld;
  static final int maxIndex=9999;

  static void feldFuellen()
  { for (int i=0; i<=maxIndex; i++)
    {  feld[i] = (int)Math.round(Math.random()*900.0 + 100); }
  } // feldFuellen

  static void feldAusgabe()
  { Out.println("Das Feld enthaelt die folgenden Elemente: ");
    for (int i=0; i<=maxIndex; i++)
    {  Out.print(feld[i]);
       Out.print(" ");
    }
    Out.println();
  } // feldAusgabe

  static void vertausche (int a, int b)
  {  int ablage = feld[a];
     feld[a] = feld[b];
     feld[b] = ablage;
  } // vertausche

  static void minsort()
  { int minpos;
    for (int i=0; i<=maxIndex; i++)
    { minpos = i;
      for (int k=i+1; k<=maxIndex; k++)
      {  if (feld[k]<feld[minpos]) { minpos = k; }
      } // for k
      if (minpos>i) { vertausche(i, minpos); }
    } // for i
  }  // minsort

  public static void main(String[] arg)
  { feld = new int[maxIndex+1];
    Out.println("Minsort-Demo: ");
    feldFuellen();
//    feldAusgabe();
    Stoppuhr t = new Stoppuhr();
    t.starte();
    minsort();
    t.stoppe();
//    feldAusgabe();
    Out.println("Zeit: " + t.lies() + " ms.");
  } // main
} // class Minsort
