Zum Inhalt springen

Quicksort


FreiXhenet

Empfohlene Beiträge

static void qsort(int[] array, int le, int re)
{
int lo = le, hi = ri;

if (hi > lo)
{
// Pivot-Element bestimmen
int mid = array[(lo + hi) / 2];
while (lo <= hi)
{
// erstes Element suchen, das grösser oder gleich dem
// Pivot-Element ist, beginnend vom linken Index
while (lo < ri && array[lo] < mid)
++lo;

// Element suchen, das kleiner oder gleich dem
// Pivot-Element ist, beginnend vom rechten Index
while (hi > le && array[hi] > mid)
--hi;

// Wenn Indexe nicht gekreuzt -> Inhalte vertauschen
if (lo <= hi)
{
swap(array, lo, hi);
++lo;
--hi;
}
}
// Linke Partition sortieren
if (le < hi)
qsort(array, le, hi);

// Rechte Partition sortieren
if (lo < ri)
qsort(array, lo, ri);
}
}

static void quickSort(int[] array)
{
qsort(array, 0, array.length - 1);
}

[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

wikipedia ist nicht so mein fall, denen vertrau ich nicht, da kann so gut jeder, der meint er weiß es , was rein schreiben!

Du meinst, so wie hier ungefähr, oder? ;)

Gerade die Sortieralgorithmen dort sind schon richtig. Wenn sie das nicht wären, würde das sehr schnell aufkommen, weil gerade auf dem Gebiet EDV und Informatik die Änderungen schon Hand und Fuss haben.

Und warum soll hier jemand noch was schreiben, was er vielleicht eh nur aus Wikipedia rauskopiert hat.

Schau es Dir halt zumindest mal an und prüfe, ob es sortiert. Das sollte schon mal ein erster Test sein.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Funktionsweise von Quick-Sort:

Element in Mitte als Pivot-Element (Drehpunkt, Schloss) wählen. Durchsuchen

der linken Hälfte nach einem grösseren Element, der rechten Hälfte

nach einem kleineren Element und die beiden vertauschen; dies bis zum

Pivot-Element. Danach gleiches Verfahren für Teilhälften

kurz und bündig...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...