Advertisement
Guest User

Untitled

a guest
May 29th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void siftdown(int a[], int n, int i) //i ist Index des zu siebenden Elementes
  4. {
  5.      printf("siftdown\n");
  6.      int j, h=a[i];
  7.      
  8.      if(i<0)
  9.      return;  
  10.                              // wenn i ungültig, dann abbrechen
  11.       while(i<n/2)           // solange noch Söhne vorhanden sind
  12.       {
  13.        j=i+i+1;              // setze Vergleichselement j auf linken Sohn von i
  14.        if(j+1<n && a[j]<a[j+1]) // wenn rechter Sohn größer linkem,...
  15.           j++;                     // ... dann dieser als j setzen
  16.        if(h>=a[j])              // wenn Heap-Ordnung hergestellt,
  17.           break;                   // ...dann abbrechen
  18.        a[i]=a[j];
  19.        i=j;                     // Element im Heap nach unten sieben
  20.       }
  21.      a[i]=h;                    // Element an Endposition einordnen
  22. }
  23.  
  24. void buildheap(int a[], int n)
  25. {
  26.      printf("buildheap\n");
  27. }
  28.  
  29. void heapsort(int a[], int n)
  30. {
  31.      printf("heapsort\n");
  32. }    
  33.      
  34. int main(int argc, const char * argv[])
  35. {
  36.     // Array mit Zahlen belegen
  37.     int array[10]={15,23,90,1,6,20,3,49,8,0,4};
  38.    
  39.     // buildheap aufrufen    
  40.     buildheap(array[0],10);
  41.    
  42.     // heapsort aufrufen
  43.     heapsort(array[0],10);
  44.     //PASS / FAIL Ausgabe
  45.    
  46.     system("PAUSE");
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement