//========================================================================
// Project by: PJ Waskiewicz
// Project: Directed Graphs with adjacency matrices
// File: graph.h
// Purpose: Declarations of the templated graph
//
// Date: 4/14/99
//
//
//
/* This is an implementation of a directed graph.
This is a parametrized, or templated version
of the graph data structure. This implementation
makes use of an adjacency matrix to
implement the graph.
*/
//========================================================================
#ifndef GRAPH_H
#define GRAPH_H
#define MAX 500
template <class T>
class Graph{
public:
Graph();
int Size() const;
int Adjacent(T &p, T &q);
void DeleteVertex(T &p);
void DeleteEdge(T &p, T &q);
void InsertVertex(T &p);
void InsertEdge(T &p, T &q);
int Find(T &e) const;
private:
int size;
T vertex[MAX];
int matrix[MAX][MAX];
};
#include "graph.cc"
#endif