/*
*普里姆算法求最小生成树
*创建一个无向网
*创建一个保存每一行的最小权值和顶点值的结构体数组
*进行 每一次的数组更新
*最后直到生成一个无向网的最小生成树
*
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_SIZE 1024//顶点的最大数目
#define NAME_SIZE 255
#define OK 1
#define ERROR 0
#define MAX_INT 2025 //无限大的值
typedef int ArcType;//图的权值的数据类型
typedef char VertexType;//顶点数据的类型
typedef int Statu;//返回值数据类型
typedef struct edge
{
VertexType adjvex;//数组顶点的数据
ArcType lowcost;//权值
}closedge[MAX_SIZE];//最小权值的数组
closedge edge;
typedef struct
{
VertexType vexs[MAX_SIZE];//无向网的顶点数组
ArcType arcs[MAX_SIZE][MAX_SIZE];//无向网的权值的二维数组
int e;//图的边数
int n;//图的顶点数
}AMGraph;//无向网的数据结构
void create_minspantree_prim(AMGraph*G,VertexType v);//普里姆算法函数
void test();//测试函数
Statu creat_UDN(AMGraph*G);//创建无向网函数
int Locate_vex(AMGraph*G,VertexType vex);//定位函数
int min_index(AMGraph*G);//返回最小权值的下标
void main()
{
test();//测试函数
}
Statu creat_UDN(AMGraph*G)//创建无向网函数
{