Chapter 6 - Delete Node

Document last modified: 

  static void Max_Heap_Delete(int A[], int i) {
     if( A[A.heapsize] > A[i]) {
          exchange(A, A.heapsize, i);            // move i to last node
          A.heapsize--;
          Heap_Increase_Key (A, i, A[i]);
     }
     else {
          exchange(A, A.heapsize, i);            // move i to last node
          A.heapsize--;
          Max_Heapify(A, i);
     }
  }