www.pudn.com > XiaoYuanDaoYouTu.rar > Prim.cpp
#include#include "Graph.h" #include "Edge.h" #include "minheap.h" char getView(int number); //添加边 void AddEdgetoMST(int i,int j,Edge *MST,int tag) { MST[tag].m_nFrom = i; MST[tag].m_nTo = j; } //最小支撑树的Prim算法,寻找下一条权最小的边采用最小堆的方式 void Prim(Graph& G, int s) { int MSTtag=0; //最小支撑树边的标号 Edge *MST=new Edge[G.VerticesNum()-1]; //存储最小支撑树的边 int Etag=0; Edge *E=new Edge[G.EdgesNum()]; for(int i=0; i H(E,Etag,G.EdgesNum()); for(i=1; i