图的邻接矩阵建立代码

话不多说直接上代码s

#include<stdio.h>
#include<stdlib.h>
#define INFINITY 9999
#define MAX_VERTEX_NUM 100
typedef char VertType;//顶点类型
typedef struct  {
	VertType vexs[MAX_VERTEX_NUM];//顶点表
	int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//邻接矩阵
	int vexnum, arcnum;//当前图的顶点数|V|和边数|E|
}MGraph;

//创建邻接矩阵
void CreateMGraph(MGraph* p)
{
	printf("请输入顶点数: ");
	scanf_s("%d", &p->vexnum);
	printf("请输入边数: ");
	scanf_s("%d", &p->arcnum);
//图的初始化
    for (int i = 0; i < p->vexnum; i++) {
		for (int j = 0; j < p->vexnum; j++) {
			
				p->arcs[i][j] = 0;
			
			}
	}


	printf("请入第几行第几列及对应的权值:");
	for (int i = 0; i < p->arcnum; i++) {
		int a, b, c;
		scanf_s("%d %d %d", &a, &b, &c);
		getchar();
		p->arcs[a][b] = c;
		
		
	}

	
}

void PrintMGraph(MGraph p) {

	printf("邻接矩阵是:\n");

	
	
		for (int i = 0; i < p.vexnum; i++) {
			
		for (int j = 0; j < p.vexnum; j++) {
			pri
				ntf("%d", p.arcs[i][j]);
		}
		printf("\n");

     }
	printf("\n");
	
}
int main() {
	char vexs[MAX_VERTEX_NUM];
	MGraph p;
	CreateMGraph(&p);
	PrintMGraph(p);
	return 0;

}


运行结果如下

 编译器:Visual 2019

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值