嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元微信扫码支付:3 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
数据结构图的遍历
函数流程图
void meau()
{
printf("__________________________________________________________ \n");
printf("| |\n");
printf("|******************请选择你要实现的功能*******************|\n");
printf("|****************1.深度遍历图并输出序列*******************|\n");
printf("|****************2.广度遍历图并输出序列*******************|\n");
printf("|****************3.深度遍历图并输出生成树的边集***********|\n");
printf("|****************4.广度遍历图并输出生成树的边集***********|\n");
printf("|****************0.退出***********************************|\n");
printf("|_________________________________________________________|\n");
}//menu
int main()
{
do
{
for(i=0;i<G.vexnum;i )
{
visited[i]=0;
}
meau();
printf("please input the number of the function: ");
scanf("%d",&n);
switch(n)
{
case 1:
scanf(a);m=Locate(G,a);//找到a在邻接多重表的位置,并赋值给m
visited[m]=1;//标记为已遍历
p=G.g[m].firstedge;//将该位置下的第一个表结点的位置给p
DFSTraverse(G,m,visited); break;//深度遍历图并输出序列
case 2:
BFSTraverse(G);break;//广度遍历图并输出序列
case 3://深度遍历并输出生成树的边集
scanf(a);
m=Locate(G,a);s[m]=1;
p=G.g[m].firstedge;
if(p->ivex==m){
DFSTree(G,p->jvex,s,m);}
else{
DFSTree(G,p->ivex,s,m);}break;
case 4:
BFSTree(G,s); break;//广度遍历并输出生成树的边集
default: break;
}
fflush(stdin);
scanf(b);
}while(b=='y'||b=='Y');
return 0;
}