//这里使用的是克鲁斯卡尔的算法实现:
//代码实现部分:
#include
using namespace std;
#define MAXV 7;//图的顶点个数
#define MaxSize 10000;
#define INF 10000;
struct MGraph //图的定义
{
int edges[MAXV][MAXV]; //邻接矩阵
int n,e; //顶点数,弧数
};
//克鲁斯卡尔算法:
struct Edge
{
int u;//边的初始点
int v;//边的终止点
int w;//边的权值
};
void Kruskal(MGraph g)
{
int i,j,u1,v1,sn1,sn2,k;
int vset[MAXV];
Edge E[MaxSize];//存放所有边的数组
k=0; //E数组的下标从0开始计
for (i=0;i
=0&& m.w