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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!