void BFS(ALGraph *G,int i){ visited[i]=TRUE; int w[10]; int z=0,x=0; printf(" %d",i); w[z++]=i; while(z!=x) { int c; c=w[x++]; ArcNode *q = G->vertices[c].firstarc; while(q) { if(!visited[q->adjvex]) { printf(" %d",q->adjvex); w[z++]=q->adjvex; visited[q->adjvex]=TRUE; } q=q->nextarc; } }}void BFS_AL(ALGraph *G,int i){ BFS(G,i); int g; for(g=0;g<G->vexnum;g++) { if(visited[g]==FALSE) BFS(G,g); }}