#include <stdio.h>
#include <stdlib.h>
typedef struct V{
char vexname;
int define;// 数值表示所在的集合
}vexs,*vex;//定义顶点的结构
typedef struct TE{
int adjvex;//起点的序号
int endvex;
int cost;
int define;//0表示边不是最小生成树的边,1表示是
}edges,*edge;//定义边的结构
int vexnum,edgenum;
void CreateUND(vex &minvex,edge &minedge);//创建无向网络
void Select(vex minvex,edges minedge[],char name1,char name2,int n);//把边里面adjvex,endvex用序号表示
void SortEdge(edge &minedge);//将边按权值从小到大排序
void MinTree_Kruskal(vex &minvex,edge &minedge);//Kruskal算法
void PrintMinEdge(vex minvex,edge minedge);//打印出最小生成树
void main()
{
vex minvex;
edge minedge;
CreateUND(minvex,minedge);
SortEdge(minedge);
MinTree_Kruskal(minvex,minedge);
PrintMinEdge(minvex,minedge);
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载