求该程序流程框图,急!

void Dijkstra(int num){
int v,w,i,t;
int final[NUM];
int min;
for(v=1;v<NUM;v++) {
final[v]=0;
D[v]=G.arcs[num][v];
for(w=1;w<NUM;w++)
P[v][w]=0;
if(D[v]<Max) {
P[v][num] = 1; P[v][v] = 1;
}
}
D[num] = 0;
final[num] = 1;
for (i = 1; i<NUM; ++i) {
min = Max;
for (w = 1;
w<NUM; ++w)
if (!final[w])
if (D[w]<min) {
v = w;
min = D[w];
}
final[v] = 1;
for (w = 1; w<NUM; ++w)
if (!final[w] && ((min + G.arcs[v][w])<D[w])) {
D[w] = min + G.arcs[v][w];
for (t = 0; t<NUM; t++)
P[w][t] = P[v][t];
P[w][w] = 1;
}
}
}