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_)