void BFStrave(graphadj*g)
{
int i;
for(i=0;i<g->numvex;i++)
{
bfs[i]=0;
}
for(i=0;i<g->numvex;i++)
{
if(bfs[i]==0)
{
BFS(g,i);
}
}
}
void BFS(graphadj*g,int i)
{
int j;
edge*p;
int Enqueue[100];
int front=0;
int rear=0;
Enqueue[front++]=i;
bfs[i]=1;
cout<<i<<" ";
while(front!=rear)
{
j=Enqueue[rear++];
p=g->adjlist[j].firstarc;
while(p!=NULL)
{
if(bfs[p->adjvex]==0)
{
cout<<p->adjvex<<" ";
Enqueue[front++]=p->adjvex;
bfs[p->adjvex]=1;
}
p=p->nextarc;
}
}
}
数据结构图的深度优先遍历核心算法
最新推荐文章于 2024-04-19 08:44:45 发布