17.12.2012 Aufrufe

4. Prozedurales Programmieren

4. Prozedurales Programmieren

4. Prozedurales Programmieren

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

void sortieren(/*nonnull*/ DataSet[] f) {<br />

FVBinTree t = mkFVBinTree( f );<br />

// Herstellen der Heap-Bedingung<br />

}<br />

for( int i = size(t)/2 - 1; i >= 0; i-- ){<br />

heapify(t,i);<br />

}<br />

// Sortieren<br />

while( size(t) > 0 ) {<br />

}<br />

swap( t, 0, size(t)-1 );<br />

removeLast(t);<br />

heapify(t,0);<br />

In einem Optimierungsschritt:<br />

- Eliminieren wir den Datentyp FVBinTree und<br />

arbeiten direkt auf dem übergebenen Feld, wobei<br />

wir die aktuelle Größe in einer lokalen Variable<br />

speichern.<br />

- Ersetzen wir die Operationen der Datenstruktur<br />

durch deren Rümpfe.<br />

- Benutzen wir eine swap-Prozedur für Felder:<br />

void swap( DataSet[] f, int i1, int i2 ){<br />

DataSet dtmp = f[i1];<br />

f[i1] = f[i2];<br />

f[i2] = dtmp;<br />

}<br />

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

143

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!