blob: fe5866d046773c277d76e62dc5bacb5e46d70a46 [file] [log] [blame]
#include "config.h"
#include <stdio.h>
#include <string.h>
/**
* heap - a simple heap implementation
*
* Each heap entry is added as a void pointer. This means the implementation
* does _not_ assume you already have an array of entries. Instead, it keeps
* an internal array of pointers to those entries.
*
* Example:
* #include <stdio.h>
*
* #include <ccan/heap/heap.h>
*
* static bool less(const int *i, const int *j)
* {
* return *i < *j;
* }
*
* static bool __less(const void *i, const void *j)
* {
* return less(i, j);
* }
*
* int main(int argc, char *argv[])
* {
* struct heap *h;
* int arr[] = {1, 0, 2};
* int i;
*
* h = heap_init(__less);
* if (h == NULL) {
* perror("heap alloc");
* exit(1);
* }
*
* for (i = 0; i < 3; i++) {
* if (heap_push(h, &arr[i])) {
* perror("heap push");
* exit(1);
* }
* }
* // should print 0, 1, 2
* for (i = 0; i < 3; i++) {
* int *v = heap_pop(h);
* printf("%d\n", *v);
* }
* heap_free(h);
* return 0;
* }
*
* License: BSD-MIT
* Author: Emilio G. Cota <cota@braap.org>
*/
int main(int argc, char *argv[])
{
/* Expect exactly one argument */
if (argc != 2)
return 1;
if (strcmp(argv[1], "depends") == 0) {
return 0;
}
return 1;
}