31.1.2 Implementierung
 
  Wir legen eine Klasse Sortieren an, in der wir nach und nach die verschiedenen Sortieralgorithmen als statische Methoden implementieren. Zusätzlich nehmen wir in dieser Klasse noch die Methoden zum Erzeugen und Ausgeben der Liste (Feld aus int-Zahlen).
Download:
Sortieren.java
class Sortieren {

  public static void einfuegen(int[] liste) {
    int schluessel;
    int lauf;
    for (int index = 1; index < liste.length; index++) {
      schluessel = liste[index];
      lauf = index - 1;
      while (lauf >= 0 && liste[lauf] > schluessel) {
        liste[lauf + 1] = liste[lauf];
        lauf--;
      }
      liste[lauf + 1] = schluessel;
    }
  }
  
  public static int[] listeAnlegen(int anzahl) {
    int[] liste = new int[anzahl];
    for (int i = 0; i < anzahl; i++){
       liste[i] = (int)(1000*Math.random());
    }
    return liste;
  }

  
  public static void listeAusgeben(int[] liste) {
    for (int i=0;i<liste.length;i++){
       System.out.print(liste[i] + "\t");
    }
  }
}
Bemerkung Die Methode einfuegen(int[] liste) ist so angelegt, dass die Aufrufende Klasse eine Referenz auf liste übergibt. Beim Ausführen der Methode wird die Liste, deren Referenz übergeben wurde, sortiert. Somit braucht die sortierte Liste nicht mit return an den Aufrufer übergeben zu werden.
 
Download:
SortierenDemo. java
import info1.Console;
public class SortierenDemo{

   public static void main(String[] args){
      StoppUhr uhr = new StoppUhr();
      int[] liste;
      System.out.print("Laenge der Liste: ");
      int anzahl = Console.in.readInt();
      liste = Sortieren.listeAnlegen(anzahl);
      Sortieren.listeAusgeben(liste);
      uhr.starten();
      Sortieren.einfuegen(liste);
      uhr.stoppen();
      System.out.println("\n\n");
      Sortieren.listeAusgeben(liste);
      System.out.println("\n\nSortierzeit: "+uhr);
   }
}
  Das Demoprogramm ist so angelegt, dass es als Vorlage für Testprogramme anderer Sortieralgorithmen dienen kann.
   
zu 31.1.3 Übungen
zur Startseite www.pohlig.de  (C) MPohlig 2003