这两个我编了很长时间了,总是有错误,也看不出问题,解决不了。
只能求助各位了。
帮帮小弟我吧!!
、内容和要求
(1) 内容:用邻接矩阵或邻接表作存储结构,从结点1出发,对图1中有8个结点的无向图进行深度优先遍历。
(2) 用邻接矩阵或邻接表作存储结构,从结点1出发,对图1中
有8个结点的无向图进行广度优先遍历。
图(1)
#include "stdio.h"
#define Max 100
main()
{int i,j,k;
int p;
int m,n;
int a[Max][Max],b[Max],c[Max];
printf("The array is :\n");
for(i=1;i<=8;i++)
{
for(j=1;j<=8;j++)
{
printf("a[%d][%d]:",i,j) ;
scanf("%d",&a[i][j]);
}
/*printf("a[%d][%d]:",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<8;i++)
{
for(j=0;j<8:j++)
{if(i=j)
{a[i][j]=0;}*/
}
for(i=1;i<=8;i++)
{
for(j=1;j<=8;j++)
{
if(i==j)
{a[i][j]=0;}
//else {a[j][i]=a[i][j]=j+1;}
}
}
a[1][1]=1;
printf("out put the array :\n");
p=1;
for(i=1;i<=8;i++)
{
for(j=1;j<=8;j++)
{//printf("a[%d][%d]:",i,j);
printf("%d\t",a[i][j]);
if(p%8==0){printf("\n");p=1;}
else p++;
}
}
m=n=1;
printf("Begin DFSTraverse is:\n");
printf("The order is:\n");
//printf("111");
for(k=1;k<=8;k++)
{
scanf("%d",&b[k]);
//printf("->");
}
printf("\n");
printf("The DFSTraverse is:\n");
for(k=1;k<=8;k++)
{
printf("->");
m=b[k];
printf("%d",a[n][m]);
n=m;
}
printf("\n");
m=n=1;
printf("Begin BFSTraverse is:\n");
printf("The order is:\n");
for(k=1;k<=8;k++)
{
scanf("%d",&c[k]);
}
printf("\n");
printf("The BFSTraverse is:\n");
for(k=1;k<=8;k++)
{
m=c[k];
printf("->");
printf("%d",a[n][m]);
n=m;
}
}
先看着吧!