
typedef int elemtype;
typedef struct
{
elemtype v1;
elemtype v2;
int cost;
} EdgeType;
void Kruskal(EdgeType edges[ ],int n)
/*用Kruskal 方法构造有n 个顶点的图edges 的最小生成树*/
{ int father[MAXEDGE];
int i,j,vf1,vf2;
for ( i=0; i<n; i++ ) father[i]=-1;
i=0;
j=0;
while ( i<MAXEDGE && j<n-1 )
{
vf1=Find ( father,edges[i].v1 );
vf2=Find ( father,edges[i].v2 );
if ( vf1!=vf2 )
{
father[vf2]=vf1;
j++;
printf ( “%3d%3d\n”,edges[i].v1,edges[i].v2 );
}
i++;
}
}



