昏了!!菜鸟问题,请指教!!!
用邻接矩阵表示的图的类的定义
const int MaxValue = ……;
const int MaxEdges = 50;
const int MaxVertices = 10;
template <class Type>
class Graph {
private:
Type VerticesList[MaxVertices];
float Edge[MaxVertices][MaxVertices];
int numberEdges;
int numberVertices;
int GetVertexPos ( const Type vertex ) {
for ( int i = 0; i < numberVertices; i++ )
if ( VerticesList[i] == Vertex ) return i;
return -1;
}
public:
Graph ( int sz = MaxEdges );
int GraphEmpty ( ) const
{ return numberVertices == 0 ||
numberEdges == 0; }
int GraphFull( ) const
{ return numberVertices == MaxVertices ||
numberEdges == MaxEdges; }
int NumberOfVertices ( )
{ return numberVertices; }
int NumberOfEdges ( )
{ return numberEdges; }
Type GetValue ( int i )
{ return i >= 0 && i <= numberVertices
? VerticesList[i] : NULL; }
float GetWeight ( int u, int v ) {
if (u != -1 && v != -1) return Edge[u][v];
else return 0;
}
int GetFirstNeighbor ( int v );
int GetNextNeighbor ( int v, int w );
void InsertVertex ( const Type vertex );
void InsertEdge ( int u, int v, float weight );
};