关于求强连通分量的算法
int max;int count;
int finished;
int visited;
void Get_SGraph(ALGraph G)
{
for(i=0;i<G.n;++i)
visited=0;
for(i=0;i<G.n;++i)
{
count=0;
if(!visited) DSF1(G,i,count);
}
}
void DSF1(ALGrapg,int i,int k)
{
visited=1;
path=i
p=G.vertices.firstarc;
while(p)
{
j=p.adjvex;
if(!visited)
DSF1(G,j,++k);
if(count>max)
{
//path[]复制给finish[]
max=count;
}
p=p.nextarc;
}
}
这样可以吗。。。。。。 运行看看
页:
[1]