设有向图邻接表定义如下:
typedef struct {
VertexNode adjlist[ MaxVertexNum ] ;
int n,e; //图的当前顶点数和弧数
}ALGraph; //邻接表类型
其中顶点表结点VertexNode边表结点EdgeNode结构为:

阅读下列算法,并回答问题:
(1)已知某有向图存储在如图所示的邻接表G中,写出执行f32(&G)的输出;
(2)简述算法f32的功能。
int visited[ MaxNum ];
void DFS(ALGraph * G, int i) {
EdgeNode * p;
visited [ i ] = TRUE ;
if (G - >adjlist[ i]. firstedge = = NULL)
printf( "% c ", G - >adjlist[ i]. vertex);
else {
p = G - >adjlist[ i]. firstedge;
while (p ! = NULL) {
if ( ! visited[p ->adjvex] )
DFS( G, p - >adjvex) ;
p = p->next;
}
}
}
void f32 ( ALGraph * G) {
int i;
for (i = 0; i< G->n; i ++)
visited [ i ] = FALSE ;
for (i = 0; i< G->n; i++)
if ( ! visited[i] ) DFS(G, i) ;
}
