Files
sem2Graph/include/graph.h

36 lines
637 B
C
Raw Normal View History

2026-05-06 09:45:22 -06:00
#ifndef GRAPH_H
#define GRAPH_H
2026-05-06 11:29:28 -06:00
#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,
2026-05-06 11:29:28 -06:00
} GraphErr ;
typedef enum {
GRAPH_DIRECTED,
GRAPH_UNDIRECTED,
} GraphType;
2026-05-06 09:45:22 -06:00
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);
2026-05-06 09:45:22 -06:00
#endif