Zum Inhalt springen

Empfohlene Beiträge

Geschrieben
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]

Geschrieben

Schau mal bei Wikipedia, da hast du so ziemlich alle Sortierverfahren bei. Ausser der Erklärung findest du einen Pseudocode, ein Beispiel (meist in Java) und eine Grafik die das Ganze noch mal veranschaulicht.

Geschrieben
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

Geschrieben

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...

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...