Home > Back-end >  Prim algorithm, no error correction code system, but can't run
Prim algorithm, no error correction code system, but can't run

Time:12-03

#include
#include
# define Max 50
# define MAX 100
Typedef struct MGraph {
Char vex (Max);
Int arc/Max (Max);
Int numVertexes numEdges;
} MGraph;
Void createGraph (MGraph * G)
{
int i,j,k;
Printf (" please enter the number of vertices and the number of edges: \ n ");
The scanf (" % d % d ", & amp; G - & gt; NumVertexes, & amp; G - & gt; NumEdges);
Printf (" please input the value of the vertex: \ n ");
for(i=0; iThe scanf (" % c ", & amp; G - & gt; Vex [I]);
for(i=0; ifor(j=0; jG - & gt; The arc [I] [j]=0;
for(i=0; i{
Printf (" input side (Vi, Vj) the subscript I, j and weights \ n ");
The scanf (" % d % d % d ", & amp; I, & amp; J., & amp; K);
G - & gt; The arc [I] [j]=k;
G - & gt; The arc [j] [I]=k;
}
}
Void minispantree_prim (int [AD] [Max], int n)
{
Int I, j, k, p, q, wm;
P=q=n - 1;
AD [p] [q]=1;
for(k=0; k{
Wm=MAX;
for(i=0; iIf (AD [I] [I]=1)
for(j=0; jIf (AD [j] [j]=0 & amp; & AD [j] [j] {
Wm=AD [I] [j];
P=I; Q=j;
}
AD [q] [q]=1;
Printf (" % d % d % d \ n ", p + 1, q + 1, AD [p] [q]);
If (p> Q)
AD [p] [q]=- AD [p] [q];
The else
AD [q] [p]=- AD [q] [p];
}
}
Int main ()
{
MGraph * G;
Int I, j, n, AD/Max (Max);
N=G - & gt; NumVertexes;
CreateGraph (G);
for(i=0; ifor(j=0; jAD [I] [j]=G - & gt; The arc [I] [j];
Minispantree_prim (AD, n);
return 0;
}
  • Related