www.pudn.com > XiaoYuanDaoYouTu.rar > Graph.h


#if !defined(AFX_GRAPH_H__21FBEE03_ACD1_4697_8195_A7F9E2353756__INCLUDED_) 
#define AFX_GRAPH_H__21FBEE03_ACD1_4697_8195_A7F9E2353756__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
#include "Edge.h" 
#define UNVISITED 0 
#define VISITED 1 
#define INFINITY 9999999 
#define ROOT -1 
 
class Graph   
{ 
public: 
	virtual void delEdge(int from,int to) = 0; 
	virtual void setEdge(int from,int to,int weight) = 0; 
	virtual Edge NextEdge(Edge preEdge) =0; 
	virtual Edge FirstEdge(int oneVertex) =0; 
	int Weight( Edge oneEdge); 
	int ToVertex(Edge oneEdge); 
	int FromVerTex( Edge oneEdge ); 
	bool IsEdge(Edge oneEdge); 
	int VerticesNum(); 
	Graph(int); 
	virtual ~Graph(); 
	int EdgesNum(); 
 
	int * m_pIndegree;	//Indegree指针指向保存有图的顶点的入度的数组 
	int * m_pMark;	    //Mark指针指向保存有图的顶点的标志位的数组,标志位来标记顶点是否被访问过 
	int m_nNumEdge;		//图的边的个数 
	int m_nNumVertex;	//图的顶点的个数 
}; 
 
#endif // !defined(AFX_GRAPH_H__21FBEE03_ACD1_4697_8195_A7F9E2353756__INCLUDED_)