プリムアルゴリズム
1325 ワード
#include
#include
using namespace std;
typedef struct MGraph {
string vexs[10];//
int arcs[10][10];//
int vexnum, arcnum;
} MGraph;
typedef struct Closedge {
string adjvex; // u
int lowcost; //
} minside[10];
int LocateVex(MGraph G, string u) { // u
for(int i=0; i>G.vexnum>>G.arcnum;
cout<>G.vexs[i];
for(i=0; i>v1>>v2>>w;
i=LocateVex(G, v1);
j=LocateVex(G, v2);
G.arcs[i][j]=G.arcs[j][i]=w;
}
}
int minimum(minside sz, MGraph G) { // sz lowcost ,
int i=0, j, k, min;
while(!sz[i].lowcost)
i++;
min=sz[i].lowcost;
k=i;
for(j=i+1; j0 && min>sz[j].lowcost) {
min=sz[j].lowcost;
k=j;
}
}
return k;
}
void MiniSpanTree_PRIM(MGraph G, string u) { //
int i, j, k;
minside closedge;
k=LocateVex(G, u); //k u
for(j=0; j