#include "zigzag.h"
#include <stdio.h>
#include <stdint.h>
bool min_heap_less(void* a, void* b) {
return (intptr_t)a > (intptr_t)b;
}
int main() {
zigzag_system_t* sys = zigzag_system_create();
zigzag_alloc_t alloc = zigzag_system_as_alloc(sys);
zigzag_pq_t* pq = zigzag_pq_create(alloc, min_heap_less);
zigzag_pq_push(pq, (void*)50);
zigzag_pq_push(pq, (void*)10);
zigzag_pq_push(pq, (void*)30);
printf("Priority Queue length: %zu\n", zigzag_pq_len(pq));
while (zigzag_pq_len(pq) > 0) {
void* val = zigzag_pq_pop(pq);
printf("Popped: %lld\n", (long long)(intptr_t)val);
}
zigzag_pq_destroy(pq);
zigzag_system_destroy(sys);
return 0;
}