- void traver(TD g[],int n)
- { int i;
- static int visited[M];
- for(i=1;i<=n;i++)
- visited[i]=0;
- for(i=1;i<=n;i++)
- if(visited[i]==0)
- bfs(g,i,visited);
- }
- void bfs(TD g[],int v,int visited[])
- { int qu[M],f=0,r=0;
- JD *p;
- printf("%dn",v);
- visited[v]=1;
- qu[0]=v;
- while(f<=r)
- { v=qu[f++];
- p=g[v].firstarc;
- while(p!=NULL)
- { v=p->adjvex;
- if(visited[v]==0)
- { visited[v]=1;
- printf("%dn",v);
- qu[++r]=v;
- }
- p=p->next;
- }
- }
- }