aocc23

Advent of Code 2023
git clone git://www.tkruger.se/aocc23.git
Log | Files | Refs | README

tests.c (966B)


      1 #include <assert.h>
      2 #include <stdio.h>
      3 #include <stdlib.h>
      4 
      5 #include "../fheap.h"
      6 
      7 int main() {
      8   fheap_t heap;
      9 
     10   fheap_init(&heap);
     11 
     12   uint64_t data[4] = {1, 2, 3, 4};
     13   uint64_t ddata;
     14 
     15   fheap_insert(&heap, 3, &(data[0]));
     16   fheap_insert(&heap, 7, &(data[1]));
     17   fheap_insert(&heap, 13, &(data[2]));
     18   fheap_insert(&heap, 0, &(data[3]));
     19 
     20   fheap_print(&heap);
     21 
     22   void *pdata;
     23   ddata = fheap_extract_min(&pdata, &heap);
     24   printf("[+] extracted (%llu) with value %llu\n", *(uint64_t *)pdata, ddata);
     25   fheap_print(&heap);
     26 
     27   ddata = fheap_extract_min(&pdata, &heap);
     28   printf("[+] extracted (%llu) with value %llu\n", *(uint64_t *)pdata, ddata);
     29   fheap_print(&heap);
     30 
     31   ddata = fheap_extract_min(&pdata, &heap);
     32   printf("[+] extracted (%llu) with value %llu\n", *(uint64_t *)pdata, ddata);
     33   fheap_print(&heap);
     34 
     35   ddata = fheap_extract_min(&pdata, &heap);
     36   printf("[+] extracted (%llu) with value %llu\n", *(uint64_t *)pdata, ddata);
     37   fheap_print(&heap);
     38 }