下面是邻接表的数据结构
求大佬看看为什么输不出正确答案
int visited2[MAXV]={0};
typedef struct ANode
{ int adivex;
struct ANode *nextarc;
int weight;
}ArcNode;
typedef struct Vnode
{
int info;
ArcNode *firstarc;
}VNode;
typedef struct
{
VNode adjlist[MAXV];
int n,e;
}AdjGraph;
void BFS(AdjGraph *G,int v)//广度搜索函数
{
int i;
ArcNode *p;
visited2[v]=1;
printf("%d ",v);
p=G->adjlist[v].firstarc;
while(p!=NULL)
{
if(visited2[p->adivex]==0)
{
visited2[p->adivex]=1;
printf("%d ",p->adivex);
p=p->nextarc;
}
}
BFS(G,p->adivex);
}
不知道你这个问题是否已经解决, 如果还没有解决的话: