?? graph.h
字號:
#define UNVISITED 0
#define VISITED 1
#define INFINITY 100000
class Edge{
public:
int from;
int to;
int weight;
void print()
{
cout<<"from:"<<from<<" to:"<<to<<endl;
}
};
class Graph{
friend class Edge;
public:
int numVertex;
int numEdge;
int *Mark;
int *Indegree;
int *outdegree;
Graph(int numVert)
{
numVertex=numVert;
numEdge=0;
Indegree=new int[numVertex];
outdegree=new int[numVertex];
Mark=new int[numVertex];
for(int i=0;i<numVertex;i++)
{
Mark[i]=UNVISITED;
Indegree[i]=0;
outdegree[i]=0;
}
}
~Graph()
{
delete []Mark;
delete []Indegree;
delete []outdegree;
}
virtual Edge FirstEdge(int oneVertex)=0;
virtual Edge NextEdge(Edge preEdge)=0;
int VerticesNum()
{
return numVertex;
}
int EdgesNum()
{
return numEdge;
}
bool IsEdge(Edge oneEdge)
{
if((oneEdge.weight>0)&&(oneEdge.weight<INFINITY)&&(oneEdge.to>=0))
return true;
else
return false;
}
int FromVertex(Edge oneEdge)
{
return oneEdge.from;
}
int ToVertex(Edge oneEdge)
{
return oneEdge.to;
}
int Weight(Edge oneEdge)
{
return oneEdge.weight;
}
virtual void setEdge(int from,int to,int weight)=0;
virtual void delEdge(int from,int to)=0;
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -