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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换