aocc23

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

dg.c (404B)


      1 #include "dg.h"
      2 
      3 void dg_init(dg_t *g, const size_t n) {
      4   g->n = n;
      5   g->nbrs = malloc(n * sizeof(*(g->nbrs)));
      6 
      7   size_t i;
      8   for (i = 0; i < n; i++)
      9     stack_u64_init(&g->nbrs[i]);
     10 }
     11 
     12 void dg_clear(dg_t *g) {
     13   size_t i;
     14   for (i = 0; i < g->n; i++)
     15     stack_u64_clear(&g->nbrs[i]);
     16   free(g->nbrs);
     17 }
     18 
     19 void dg_add_edge(dg_t *g, const size_t v, const size_t w) {
     20   stack_u64_push(&g->nbrs[v], w);
     21 }