void CreatMGraph(MGraph &G) { int i,j,k; scanf("%d,%d",&G.vexnum,&G.arcnum); for(i=0;i<G.vexnum;i++) for(j=0;j<G.vexnum;j++) G.arcs[i][j]=0; for(i=0;i<G.vexnum;i++) scanf("%c",&G.vexs[i]); for(k=0;k<G.arcnum;k++) { scanf("%d,%d",&i,&j); G.arcs[i][j]=1; } for(i=0;i<G.arcnum;j++) { printf("%d:",i); for(j=0;j<G.vexnum;j++) { for(k=0;k<G.vexnum;k++) { if(G.arcs[j][k]==1) { printf(" %d",k); } } } printf("\n"); } }修改
时间: 2024-04-02 13:31:25 浏览: 58
void CreatMGraph(MGraph &G) {
int i, j, k;
scanf("%d%d", &G.vexnum, &G.arcnum);
getchar(); //读取换行符
for (i = 0; i < G.vexnum; 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++) {
scanf("%d,%d", &i, &j);
getchar(); //读取换行符
G.arcs[i][j] = 1;
G.arcs[j][i] = 1; //无向图需要将两个方向都置为1
}
for (i = 0; i < G.vexnum; i++) {
printf("%d:", i);
for (j = 0; j < G.vexnum; j++) {
if (G.arcs[i][j] == 1) {
printf(" %d", j);
}
}
printf("\n");
}
}
阅读全文