#include<stdio.h> // 图的深度优先遍历(无向图 邻接矩阵)
#define max 20
typedef struct {
char vexs[max];//结点元素数组
int vexnum,arcnum;//结点数,边数
int arcs[max][max];//矩阵数组
int visited[max];//标志数组
}Graph;
int locatevex(Graph &G,char v)
{
int i;
for(i=0;v!=G.vexs[i];i++);
return i;//返回结点v所在的下标
}
void creategraph(Graph &G)
{
int i,j,k;
char v1,v2;
printf("结点个数:");
scanf("%d",&G.vexnum);
getchar();
printf("\n");
printf("边的条数:");
scanf("%d",&G.arcnum);
getchar();
printf("\n");
printf("输入节点:\n");
for(i=0;i<G.vexnum;i++)
{
printf("vexs[%d]:",i);
scanf("%c",&G.vexs[i]);
getchar();
}
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++)
G.arcs[i][j]=0;//初始化邻接矩阵
for(k=0;k<G.arcnum;k++)
{
printf("输入弧头:");
scanf("%c",&v1);
getchar();
无向图的深度优先遍历
最新推荐文章于 2024-02-13 21:00:17 发布