17.12.2012 Aufrufe

4. Prozedurales Programmieren

4. Prozedurales Programmieren

4. Prozedurales Programmieren

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Umsetzung in prozedurale Fassung:<br />

- Speichere die Datensätze in einem Feld und<br />

bearbeite rekursiv Teilbereiche des Feldes<br />

- Realisiere das Teilen der Liste durch Vertauschen:<br />

� Indexzähler left, right laufen von links bzw.<br />

rechts bis f[left].key ≥ pivot.key<br />

&& f[right].key < pivot.key<br />

Es gilt:<br />

Für alle i in [ug,left-1] : f[i].key < pivot.key<br />

Für alle i in [right+1,og] : pivot.key ≤ f[i].key<br />

1. Fall:<br />

left > right : Teilung vollzogen:<br />

2. Fall:<br />

ug og<br />

left right<br />

left ≤ right : Vertausche f[left] und f[right],<br />

inkrementiere left und right und fahre fort.<br />

ug og<br />

left right<br />

0<strong>4.</strong>12.08 © A. Poetzsch-Heffter, TU Kaiserslautern<br />

135

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!