简化版的 邻接矩阵

#include <stdio.h>
#include <stdlib.h>
#include<malloc.h> 
#define maxsize 100
#define infinity 10000
typedef struct mgraph
{
char vex[maxsize];
int  arc[maxsize][maxsize];
int vexnum,arcnum;
 }mgraph; 
void create(mgraph *n)
{
int i,j,k,w;
printf("请输入顶点数和边数:");
scanf("%d%d",&n->arcnum,&n->vexnum) ;
for(i=0;i<n->arcnum;i++)
     scanf("%s",&n->vex[i]);
for(j=0;j<n->arcnum;j++)
    for(i=0;i<n->arcnum;i++)
    n->arc[j][i]=infinity;
for(k=0;k<n->vexnum;k++)
{
printf("输入边(vi,vj)上的下标i,上标j和权w:\n");
scanf("%d%d%d",&i,&j,&w);
n->arc[i][j]=w;
n->arc[j][i]=n->arc[i][j];
}
for(i=0;i<n->arcnum;i++)
   
for(j=0;j<n->arcnum;j++)
   {
    printf("%d   ",n->arc[i][j]);
   }
}
int main()
{
mgraph n;
create(&n);
return 0;
}

猜你喜欢

转载自blog.csdn.net/zhouzhou_98/article/details/80871097