void FindArticul ( ALGraph G ) { /*连通图G 以邻接表作存储结构,查找并输出G 上全部关节点*/ count=1; /*全局变量count 用于对访问计数*/ visited[0]=1; /*设定邻接表上0 号顶点为生成树的根*/ for ( i=1; i<G.vexnum; ++i ) /*其余顶点尚未访问*/ visited[i]=0; p=G.adjlist[0].first; v=p->adjvex; DFSArticul ( g,v ); /*从顶点v 出发深度优先查找关节点*/ if ( count<G.vexnum ) /*生成树的根至少有两棵子树*/ { printf ( 0,G.adjlist[0].vertex ); /*根是关节点,输出*/ while ( p->next ) { p=p->next; v=p->adjvex; if ( visited[v]==0 ) DFSArticul ( g,v ); } } } /*FindArticul*/