#ifndef GRAPH_H_ #define GRAPH_H_ #define N 64 #define boolearn int #define true 1 #define false 0 typedef boolearn adjmatrix[N][N]; typedef int vindex; typedef struct edgecell{ vindex destination; struct edgecell *next; } edgecell; typedef edgecell *edgelist; typedef struct{ edgecell *adjlist; }vertextype; typedef vertextype vertices[N]; typedef struct { int vertex_num; int edge_num; vertices vtop; } graph; int read_adjacency_matrix(char *datafile, adjmatrix mat); void add_edge( graph *g, vindex src, vindex dest ); void translate_into_graph( adjmatrix mat, graph *g ); void print_graph( graph *g ); void free_graph( graph *g ); boolearn judge_way(graph *g, vindex start, vindex target); boolearn judge_sc_graph(graph *g); boolearn judge_se_graph(graph *g); #endif