图的深度和广度遍历(采用邻接表存储)

图的深度和广度遍历(采用邻接表存储)
图的深度和广度遍历(采用邻接表存储)

return i;

}

return OK;

}

int FirstAdjVex(ALGraph G,VertexType v){ata&&[i].firstarc)

{

return [i].firstarc->adjvex; irstarc;

while(p)

{

if(p->adjvex==j)

{

flag=1;

break;

}

p=p->nextarc;

}

if(flag && p->nextarc)

return p->nextarc->adjvex;

else

return ERROR;

}

/**************构造图,采用邻接表存储***********************/

int CreatUDG(ALGraph &G){ ata);

[i].firstarc=NULL;irstarc;

q->nextarc=[j].firstarc;

[i].firstarc=p;

p->adjvex=j;

[j].firstarc=q;

q->adjvex=i;

nfo); ata);ata); j!=ERROR; j=NextAdjVex(G,[i].data,[j].data))ata);ata); ata))

if (!visited[j]) { ata);ata);

}//if

}//while

}//if

} // BFSTraverse

int main(){

ALGraph G;

CreatUDG(G);

printf("深度遍历结果为:");

DFSTraverse(G);

printf("\n");

printf("广度遍历结果为:");

BFSTraverse(G) ;

printf("\n");

return 0;

}

相关主题
相关文档
最新文档