]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/doc/heap.txt
Heap: Interface cleanup
[libucw.git] / ucw / doc / heap.txt
index 64729a17fcf878bd7f30abd1c93a932480914027..605c696dadfe650d257e5dafc492fcd95a8a7a77 100644 (file)
@@ -19,22 +19,18 @@ Example
   #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]);