qq_36525404 2016-11-20 11:39 采纳率: 33.3%
浏览 920
已结题

建立图的邻接表的问题,不知道问题出在哪,求解答

#define MaxVertexNum 20 /* 最大顶点数设为20 /
#define INFINITY 32767 /
∞设为双字节无符号整数的最大值32767*/
typedef char VertexType; /* 顶点类型设为字符型 /
typedef int EdgeType; /
边的权值设为整型 /
enum GraphType { DG, UG, DN, UN };

/
有向图,无向图,有向网图,无向网图*/
typedef struct {
VertexType Vertices[ MaxVertexNum ]; /* 顶点表 /
EdgeType Edges[ MaxVertexNum ][ MaxVertexNum ]; /
邻接矩阵,即边表 /
int n, e; /
顶点数n和边数e /
enum GraphType GType; /
图的类型分4种:UG、DG、UN、DN /
} MGraph; /
MGragh是以邻接矩阵存储的图类型 /
void CreateMGraph ( MGraph *G )
{

int i, j, k, w;
G-> GType = UN; /
Undirected Network 无向网图 /
printf( "请输入顶点数和边数(输入格式为:顶点数, 边数):\n" );
scanf( "%d, %d",&(G->n), &(G->e) ); /
输入顶点数和边数 /
printf("请输入顶点信息(输入格式为:顶点号):\n");
for ( i = 0; i < G->n; i++ )
scanf( "%c",&(G-> Vertices[i]) ); /
输入顶点信息,建立顶点表 /
for ( i = 0; i < G->n; i++ )
for ( j = 0; j < G->n; j++ )

G->Edges[i][j] = INFINITY; /
初始化邻接矩阵 /
printf( "请输入每条边对应的两个顶点的序号和权值,输入格式为:i, j, w:\n" );
for ( k = 0; k < G->e; k++ ) {
scanf("%d,%d,%d ",&i, &j, &w); /
输入e条边上的权,建立邻接矩阵 /
G->Edges[i][j] = w;
G->Edges[j][i] = w; /
因为无向网图的邻接矩阵是对称的 */
}
}图片说明

  • 写回答

1条回答

  • dabocaiqq 2016-11-20 15:26
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大