#include<stdio.h>
int visited[Maxsize];
#define Maxsize 50
#define M 500//定义无穷数值为5000
//标记顶点是否被访问,1为访问,0为未访问
typedef struct
{
int vex[Maxsize];//顶点表
int arc[Maxsize][Maxsize];//矩阵表
int numVertexes,numEdges;//顶点数和边数
}MGraph;
void GreateGraph(MGraph *G)
{
int i,j,k,l;
printf("请输入顶点数和边数:");
scanf("%d%d",&G->numVertexes,&G->numEdges);
printf("%d %d",G->numVertexes,G->numEdges);
for(i=0;i<G->numVertexes;i++)
{
printf("请输入顶点的值:\n");
scanf("%d",&G->vex[i]);
}
for(j=0;j<G->numVertexes;j++)
for(k=0;k<G->numVertexes;k++)
{
G->arc[i][j]=M;
}
//初始化矩阵
printf("%d\n",G->numEdges);
for(l=0;l<G->numEdges;l++)//对每个边赋予权值
{
printf("输入边(Vi,Vj)的下标i,j和权值:");
scanf("%d %d %d",&i,&j,&k);
G->arc[i][j]=k;
G-&
无向图邻接矩阵的储存和深度优先遍历
最新推荐文章于 2024-08-09 16:35:49 发布
本文介绍了如何使用C语言实现无向图的邻接矩阵存储,并通过深度优先搜索(DFS)遍历图的所有顶点。程序首先读取顶点数和边数,然后输入顶点值和边的权重,最后进行DFS遍历并输出顶点值。
摘要由CSDN通过智能技术生成