城市之间.cpp

来自「数据结构课程设计:“构造可以使n个城市连接的最小生成树”算法的实现!非常不错!」· C++ 代码 · 共 63 行

CPP
63
字号
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

typedef char DataType;
typedef char VerT;
#define MaxSize 100
#define MaxVertices 10
#define MaxWeight 1000
#define N 7

#include"AdjMGraph.h"

#include"Prim.h"



void main( )
{
	AdjMGraph g;
	char a[]={'A','B','C','D','E','F','G'};
	RowColWeight rcw[]={{0,1,50},{1,0,50},{0,2,60},
	{2,0,60},{1,3,65},{3,1,65},{1,4,40},{4,1,40},
	{2,3,52},{3,2,52},{2,6,45},{6,2,45},{3,4,50},
	{4,3,50},{3,5,30},{5,3,30},{3,6,42},{6,3,42},
	{4,5,70},{5,4,70}};

	int n=7,e=20,i,j;
	MinSpanTree closeVertex[7];

	CreatGraph(&g,a,n,rcw,e);
	
	printf("☆☆☆该图的邻接矩阵表示☆☆☆\n");
	printf("结点集合为:");
	for(i=0;i<g.Vertices.size;i++)
		printf("%c   ",g.Vertices.list[i]);
	printf("\n");

	printf("权值集合为:\n");
	for(i=0;i<g.Vertices.size;i++)
	{
		for(j=0;j<g.Vertices.size;j++)
			printf("%5d  ",g.edge[i][j]);
		printf("\n");
	}


    Prim(g,closeVertex);
    
	printf("\n\n\n");
	printf("★★★最小生成树★★★\n");
	printf("初始结点=%c\n",closeVertex[0].vertex);
	for(i=1;i<n;i++)
		printf("结点=%c     边的权值=%d\n",closeVertex[i].vertex,closeVertex[i].weight);
}
	
		
		
		
		


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?