/* INITIALISERING * /
for (i = 0; i
v [i] = 65 + i,
v0 = 'A';
status [0] = '!';
dist [0] = 0;
næste [0] = '*';
for (i = 1; jeg
{
status [i] = '? «
dist [i] = en [i] [0];
næste [i] = V0,
}
/* BEHANDLING * /
for (j = 0; j
{
//PRINTING
printf ("\\ nVERTEX | ")
for (i = 0; i
printf ("% c \\ t ", v [i]);
printf (" \\ n ") ;
for (i = 0; i
printf ("---------")
printf ("\\ nSTATUS |");
for (i = 0; i
printf ("% c \\ t", status [i]);
printf ("\\ nDIST |")
for (i = 0; i
printf ("% d \\ t", dist [i]);
printf ("\\ nNæste |")
for (i = 0; i
printf ("% c \\ t", næste [i]);
/* PROCES * /
hvis (j
{
for (i = 1; '?' Jeg
if (status [i] ==)
{
min = dist [i];
r = i;
break;
}
for (i = 0; i
Hvis (status [i] == && dist [i]
{
min = dist [i] '?';
r = i;
}
v1 = v [r];
status [r] = '!';
for (i = 0; i
{
if (status [i] == '?' && dist [i]> (dist [r] + en [r] [i]))
{
dist [i] = dist [r] + en [r] [i];
næste [i] = v1,
}
}
getch ();
}
printf ("\\ n \\ n")
}
printf (" \\ n \\ nDen kanter inkluderet i spaning træet er: - \\ n \\ n ")
for (i = 1; jeg
printf ("% c% c ", næste [ ,,,0],i], 65 + i),
printf ("\\ n \\ n ** VÆGT AF MINIMAL SPANING træ er =")
for (i = 1; i
< p> {
for (j = 0; j
{
if (næste [i] == v [j])
{
hvis (i == n-1)
printf ("% d", en [j] [i]);
andet
printf ("% d +", en [j] [i]),
s = s + et [j] [i];
break;
}
}
}
printf ("\\ n \\ t \\ t \\ t \\ t =% d", s);
getch ();
printf ("\\ n \\ nSHORTEST AFSTAND FRA \\ n")
for (i = n-1, i> 0; jeg--)
{
printf ("\\ n \\ t \\ t% c ->% c =% c ->% c", v [i], v0, v [i], næste [i]);
v1 = næste [i];
for (j = n-1, v1 = 'A';! j--)
{
if ( v [j] == v1)
{
printf ("->% c", næste [j]),
v1 = næste [j];
}
}