数据结构中关于图的操作,含多种操作方法例子
源代码在线查看: j.cpp
#include"lj.h"
void main()
{
int i,j,k,w,n,e;
char b,t;
adjmax adj;
printf("输入顶点数(n)和边数(e): ");
scanf("%d%d",&n,&e);
for(i=1;i {
getchar();
printf(" 第%d个顶点的信息: ",i);
scanf("%c",&adj.vexs[i].data);
// adj.vexs[i].num=i;
}
for(i=1;i for(j=1;j adj.edges[i][j]=0;
for(k=1;k {
getchar();
printf("第%d条边=>起点: ",k);
b=getchar();
getchar();
for(i=1;i ;
if(i>n)
{
printf("输入的起点不存在!\n");
exit(0);
}
printf(" \t 终点: ");
t=getchar();
getchar();
for(j=1;j ;
if(j>n)
{
printf("输入的终点不存在!\n");
exit(0);
}
printf(" \t 权值: ");
scanf("%d",&w);
adj.edges[i][j]=adj.edges[j][i]=w;
}
printf("该图对应的邻接矩阵为:\n");
for(i=1;i {
for(j=1;j printf("%4d",adj.edges[i][j]);
printf("\n");
}
}