Files
sem2Graph/include/graph.h

36 lines
637 B
C

#ifndef GRAPH_H
#define GRAPH_H
#include <stdlib.h>
typedef struct Graph Graph;
typedef struct Vertex Vertex;
typedef struct Edge Edge;
typedef enum {
GRAPH_OK,
GRAPH_BAD_ALLOC,
GRAPH_NOT_FOUND,
} GraphErr ;
typedef enum {
GRAPH_DIRECTED,
GRAPH_UNDIRECTED,
} GraphType;
Graph *graph_create(GraphType type);
GraphErr graph_destroy(Graph *graph);
GraphErr graph_add_vertex(Graph *graph);
GraphErr graph_connect_vertex(
Graph *graph,
size_t node1,
size_t node2,
size_t weight);
GraphErr graph_vertex_count(size_t *out);
GraphErr graph_get_vertex(Graph *graph, size_t index, Vertex *out);
#endif