Bucketsort Implementierung

Guten Abend,

wir sollen in der Schule zur Zeit die Sortiermethode bucketsort in unser Programm “Zahlenliste” implementieren, mit dem dann zufällig ausgewählte Zahlen sortiert werden sollen. Leider war ich in den letzten drei Informatikstunden nicht anwesend und habe deshalb Probleme, bucketsort zu programmieren. Nun hat mir jemand seinen Code zugeschickt, welchen ich aber nicht wirklich verstehe:

private void bucketsort()
    {
        h = new int[1000];
        for (int i = 0; i < h.length; i++)
        {
            for (int a = 0; a < zahlenliste.length; a++)
            {
                if (zahlenliste[a] == i)
                {
                    h = h + 1;
                }
            }
        }
        int sortpos = 0;
        for (int i = 0; i < zahlenliste.length; i++)
        {
            for (int a = 0; a < m; a++)
            {
                zahlenliste[sortpos] = i; sortpos++; refresh ();
            }
        }
    }

Das Prinzip von bucketsort ist ja, dass zuerst ein Array von leeren “buckets” erstellt wird. Dann geht das Programm in das originale Array und jedes Objekt wird durch ein anderes Sortierverfahren ins passende bucket geschoben. Wenn nun den buckets die Elemente zugewiesen wurden, geben sie diese wieder zurück ans originale Array, diesmal in einer geordneten Reihenfolge.

Mein Problem: Ich kann diesen Vorgang im code nicht erkennen. Wärt ihr so nett und könntet mir erklären, wo diese Schritte in dem Code passieren?

Danke schomal für die Antworten.

Der Code wird so nicht kompilieren und funktionieren.
Beispiel:

// ...
h = h + 1;```

Der Code wird dir also keine Hilfe sein.

Lies dir doch einfach mal [den Wikipedia Artikel zu Bucketsort](http://de.wikipedia.org/wiki/Bucketsort) durch. Den Pseudocode unter "Algorithmus" solltest du ganz leich in Java übersetzen können.