Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void siftdown(int a[], int n, int i) //i ist Index des zu siebenden Elementes
- {
- printf("siftdown\n");
- int j, h=a[i];
- if(i<0)
- return;
- // wenn i ungültig, dann abbrechen
- while(i<n/2) // solange noch Söhne vorhanden sind
- {
- j=i+i+1; // setze Vergleichselement j auf linken Sohn von i
- if(j+1<n && a[j]<a[j+1]) // wenn rechter Sohn größer linkem,...
- j++; // ... dann dieser als j setzen
- if(h>=a[j]) // wenn Heap-Ordnung hergestellt,
- break; // ...dann abbrechen
- a[i]=a[j];
- i=j; // Element im Heap nach unten sieben
- }
- a[i]=h; // Element an Endposition einordnen
- }
- void buildheap(int a[], int n)
- {
- printf("buildheap\n");
- }
- void heapsort(int a[], int n)
- {
- printf("heapsort\n");
- }
- int main(int argc, const char * argv[])
- {
- // Array mit Zahlen belegen
- int array[10]={15,23,90,1,6,20,3,49,8,0,4};
- // buildheap aufrufen
- buildheap(array[0],10);
- // heapsort aufrufen
- heapsort(array[0],10);
- //PASS / FAIL Ausgabe
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement