// Interface to the undirected graph ADT // !!! DO NOT MODIFY THIS FILE !!! #ifndef GRAPH_H #define GRAPH_H #include #include typedef struct graph *Graph; struct graph { int nV; // #vertices bool **edges; // adjacency matrix }; // vertices are ints typedef int Vertex; // Create a new graph Graph GraphNew(int nV); // Frees all memory allocated to the graph void GraphFree(Graph g); // Returns the number of vertices in the graph int GraphNumVertices(Graph g); // Inserts an edge between 'v' and 'w' void GraphInsertEdge(Graph g, Vertex v, Vertex w); // Prints the graph to stdout void GraphShow(Graph g); // Prints the graph to a file (assumed to be open for writing) void GraphPrint(Graph g, FILE *out); #endif