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.
Bemerkung:<br />
Bei einer prozeduralen Datenstruktur muss man<br />
sich genau merken, welche Operationen<br />
- Referenzen übernehmen bzw.<br />
- Änderungen vornehmen.<br />
/* Stellt Heap-Eigenschaft her, wobei die<br />
Kinder des Knotens ix die Eigenschaft<br />
bereits erfuellen muessen; modifiziert t<br />
*/<br />
void heapify( FVBinTree t, int ix ) {<br />
} }<br />
int ixk = get(t,ix).key;<br />
if( hasLeft(t,ix) && !hasRight(t,ix) ) {<br />
int lx = left(t,ix);<br />
if( ixk < get(t,lx).key ) {<br />
}<br />
swap(t,ix,lx);<br />
} else if( hasRight(t,ix) ) {<br />
int lx = left(t,ix);<br />
int rx = right(t,ix);<br />
int largerChild =<br />
get(t,lx).key > get(t,rx).key ? lx : rx;<br />
if( ixk < get(t,largerChild).key ) {<br />
}<br />
swap( t, ix, largerChild );<br />
heapify( t, largerChild );<br />
0<strong>4.</strong>12.08 © A. Poetzsch-Heffter, TU Kaiserslautern<br />
142