Push the WIP graphs handling code
[Algorithmic_C.git] / TP7 / exo1 / graphs.h
1 #ifndef GRAPHS_H
2 #define GRAPHS_H
3
4 #include <stdbool.h>
5 #include <stddef.h>
6
7 #include "list.h"
8
9 /* number of nodes or vertices or points */
10 //const unsigned int num_nodes = 10;
11 #define num_nodes 5
12
13 /* Adjacency matrix */
14 /* for a valued graph */
15 int M[num_nodes][num_nodes];
16 /* for an oriented graph */
17 //bool M[num_nodes][num_nodes];
18
19 /* Adjacency list */
20 typedef struct succ_list_s {
21 unsigned int num_node;
22 int val;
23 struct list_head list;
24 } succ_list_t;
25 //succ_list_t* nodes[num_nodes] = { NULL };
26
27 void display_adj_matrix(int adj_matrix[num_nodes][num_nodes]);
28 void convert_adj_matrix_to_adj_lists(int adj_matrix[num_nodes][num_nodes], succ_list_t* nodes[num_nodes]);
29 void display_adj_lists(succ_list_t* nodes[num_nodes]);
30
31 #endif