数据结构书P189---图7.34
#include#define MAXV 100 //最大顶点个数#define INF 32767 //INF表示∞typedef struct { int edges[MAXV][MAXV];//邻接矩阵 int vexnum,arcnum; //顶点数,弧数} MGraph;//图的邻接矩阵类型void init(MGraph &g);//初始化邻接矩阵void DispMat(MGraph g);//输出邻接矩阵gvoid prim(MGraph g,int v);int main(){ int u=3; MGraph g;//图的邻接矩阵 init(g);//初始化邻接矩阵 printf("图G的邻接矩阵:\n"); DispMat(g); printf("\n"); printf("普里姆算法求解结果:\n"); prim(g,0); printf("\n"); return 0;}void prim(MGraph g,int v)//从v号节点开始---生成最小生成树{ //(V-U)---未加入最小生成树的点 //U---已加入最小生成树的点 int i,j,k; int MinCost[MAXV]; //(V-U)中各点离U的最小距离 int MinCostNum[MAXV];//(V-U)中各点离U的最小距离对应在U中的点 int min;//min记录离U最近的距离 MinCost[v]=0;//v加入U for (i=0;i