图的周游和遍历

实验要求:

以邻接矩阵或邻接表为存储结构,建立连通无向图或有向图,并完成以下操作:

(1)     深度优先遍历。

(2)     广度优先遍历。

 

实验代码:

#include<stdio.h>

#include<malloc.h>

#include<string.h>

#define  M   100

typedef struct node

{

   char vex[M][2];

   int edge[M ][ M ];

   int n,e;

 }Graph;

 

int visited[M];

 

Graph *Create_Graph()

   {    Graph  *GA;

   int  i,j,k,w;

   GA=(Graph*)malloc(sizeof(Graph));

 

              printf ("请输入矩阵的顶点数和边数(用逗号隔开):\n");

              scanf("%d,%d",&GA->n,&GA->e);

              printf ("请输入矩阵顶点信息:\n");

        for(i = 0;i<GA->n;i++)

           scanf("%s",&(GA->vex[i][0]),&(GA->vex[i][1]));

        for (i = 0;i<GA->n;i++)

           for (j = 0;j<GA->n;j++)

               GA->edge[i][j] = 0;

        for (k = 0;k<GA->e;k++)

         {  printf ("请输入第%d条边的顶点位置(i,j)和权值(用逗号隔开):",k+1);

            scanf ("%d,%d,%d",&i,&j,&w);

            GA->edge[i][j] = w;

             }

              return(GA);

}

 

 

void dfs(Graph *GA, int v)

{ int i;

 

  printf("%c%c\n",GA->vex[v][0],GA->vex[v][1]);

  visited[v]=1;

  for(i=0; i<GA->n; i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值