4. Prozedurales Programmieren
4. Prozedurales Programmieren
4. Prozedurales Programmieren
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