#define MY_CMP(x, y) ((x) < (y))
// Insert 20, 10, 30
- heap[n + 1] = 20;
- HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP);
- heap[n + 1] = 10;
- HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP);
- heap[n + 1] = 30;
- HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP);
+ HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP, 20);
+ HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP, 10);
+ HEAP_INSERT(int, heap, n, MY_CMP, HEAP_SWAP, 30);
// Remove the minimum (10)
- HEAP_DELMIN(int, heap, n, MY_CMP, HEAP_SWAP);
+ HEAP_DELETE_MIN(int, heap, n, MY_CMP, HEAP_SWAP);
// Print the new minimum (20)
printf("%d", heap[1]);
- // Increase the minimum by 20 to 40
- heap[1] += 20;
- HEAP_INCREASE(int, heap, n, MY_CMP, HEAP_SWAP, 1);
+ // Increase the minimum to 40
+ HEAP_INCREASE(int, heap, n, MY_CMP, HEAP_SWAP, 1, 40);
// Print the new minimum (30)
printf("%d", heap[1]);