diff --git a/src/graph.c b/src/graph.c index b10904e..a1e8792 100644 --- a/src/graph.c +++ b/src/graph.c @@ -28,7 +28,7 @@ Graph *graph_create(GraphType type) { } graph->type = type; - graph->vertices = arraylist_init(64, sizeof(Vertex)); + arraylist_init(&graph->vertices, 64, sizeof(Vertex)); if (graph->vertices == NULL) { free(graph); @@ -64,7 +64,8 @@ GraphErr graph_add_vertex(Graph *graph) { return GRAPH_NULL_ARG; } - Vertex new_vertex = {.edges = arraylist_init(16, sizeof(Edge))}; + Vertex new_vertex = {.edges = NULL }; + arraylist_init(&new_vertex.edges, 16, sizeof(Edge)); arraylist_push_back(graph->vertices, &new_vertex); @@ -140,9 +141,12 @@ GraphErr graph_dijkstra(Graph *graph, size_t source, DijkstraResult *result) { size_t vertex_count = arraylist_size(graph->vertices); - ArrayList *distances = arraylist_init(vertex_count, sizeof(size_t)); - ArrayList *visited = arraylist_init(vertex_count, sizeof(bool)); - ArrayList *prev = arraylist_init(vertex_count, sizeof(size_t)); + ArrayList *distances; + arraylist_init(&distances, vertex_count, sizeof(size_t)); + ArrayList *visited; + arraylist_init(&visited, vertex_count, sizeof(bool)); + ArrayList *prev; + arraylist_init(&prev, vertex_count, sizeof(size_t)); for (size_t i = 0; i < vertex_count; i++) { arraylist_push_back(distances, &(size_t){SIZE_MAX});