标签:表示 i++ ret std jpg 就是 信息 输入 int
图的邻接矩阵存储
源程序
#include <stdio.h>
#include <stdlib.h>
const int vnum=20;
//定义图的类型
typedef struct gp
{
char verx[vnum];
int arcs[vnum][vnum];
int vernum,arcnum;
}Graph;
//创建图,输入顶点和边的信息
void creat(Graph *g)
{
int i,j,k;
printf("请输入顶点数和边数:");
scanf("%d%d",&g->vernum,&g->arcnum);
printf("请输入%d个顶点的值:",g->vernum);
getchar();
for(i=0;i<g->vernum;i++)
scanf("%c",&g->verx[i]);
for(i=0;i<g->vernum;i++) //此双重循环表示所有结点都没有连接
for(j=0;j<g->vernum;j++)
g->arcs[i][j]=0;
printf("请输入 %d条边",g->arcnum); //连接两点形成边,有边就是1,无边就是0
for(k=0;k<g->arcnum;k++)
{
scanf("%d%d",&i,&j);
g->arcs[i][j]=1;
g->arcs[j][i]=1;
}
}
//输出邻接矩阵
void showMatrix(Graph *g)
{
int i;
printf(" ");
for(i=0;i<g->vernum;i++) //输出第一行的提示点:A B C D
printf("%3c",g->verx[i]);
printf("\n"); //换行
for(i=0;i<g->vernum;i++)
{
printf("%3c",g->verx[i]);
for(int j=0;j<g->vernum;j++)
printf("%3d",g->arcs[i][j]);
printf("\n");
}
}
///主函数
int main()
{
Graph g,*pg=&g;
creat(pg);
showMatrix(pg);
return 1;
}
运行结果:
标签:表示 i++ ret std jpg 就是 信息 输入 int
原文地址:https://www.cnblogs.com/duanqibo/p/13288699.html