Home > Informatik > Stufe EF > Folge 8 (Sortieren)

8.2 Die Klasse "Liste"

Allgemeines - Liste - Bubblesort - Selectionsort - Insertionsort - Visualisierung - Quicksort

Quelltext der Klasse

Es gibt unheimlich viele Sortierverfahren auf der Welt, die man sich unmöglich alle merken kann. Im Schulunterricht spielen aber immer wieder drei einfache Verfahren eine wichtige Rolle, nämlich der Bubblesort, der Selectionsort und der Insertionsort. Im Leistungskurs wird dann auch der Quicksort behandelt und auch über andere Verfahren gesprochen.

Wir wollen hier aber nicht einfach nur über die Sortierverfahren sprechen oder Quelltexte der Sortierverfahren analysieren, sondern die drei grundlegenden Sortierverfahren auch selbst in Java implementieren. Am einfachsten geht das mit Hilfe der Datenstruktur Feld bzw. Array.

Bei der Entwicklung der drei einfachen Sortierverfahren Bubblesort, Selectionsort und Insertionsort legen wir eine Java-Klasse Liste zu Grunde, deren kompletten Quelltext Sie hier sehen und über die Zwischenablage kopieren können:

import java.util.Random;
// importiert den Generator fuer Zufallszahlen

public class Liste
{
    public final int MAX = 100; // eine Konstante
    private int[] zahl;         // der Array

    public Liste()
    {
        zahl = new int[MAX];   // Erzeugung des Arrays
    }

    public void erzeugen()
    // Der komplette Array wird mit Zufallszahlen gefuellt.
    // Bei MAX = 10 haben diese Zahlen z.B. Werte zwischen 1 und 100 (=10*MAX) 
    {
        Random zufall = new Random();   // neuer Zufallszahlen-Generator
        for (int i = 0; i < MAX; i++)
            zahl[i] = zufall.nextInt(10*MAX)+1;
    }
    
    public void anzeigen()
    // 10 Zeilen mit jeweils 10 Zahlen
    {
       for (int i=1; i<=MAX; i++)
       {
          System.out.print(zahl[i-1]+"\t"); 
          // 10 Zahlen in einer Zeile, daher print() und nicht println()
          if (i % 10 == 0) System.out.println();
          // Nach je 10 Zahlen erfolgt ein Zeilenumbruch
       }
    }
}

Die Zahl der Arrayelemente wurde hier als Konstante definiert, erkennbar an dem Schlüsselwort final.

Aufgabe

Erstellen Sie ein neues BlueJ-Projekt mit einer leeren Klasse, entfernen Sie den generierten Quelltext komplett und kopieren Sie dann den obigen Quelltext in den leeren Texteditor.

Kompilieren Sie die Klasse und testen Sie die erzeugen()- und anzeigen()-Methoden.

Seitenanfang -
Weiter mit dem Bubblesort