dijkstra算法(Pascal描述)

来源:互联网 发布:虚拟社交网络的优点 编辑:程序博客网 时间:2024/05/16 01:18
constdim=6;max=200;varcost:array[1..dim,1..dim] of integer;i,j:integer;isfound:array[1..dim] of boolean;distance:array[1..dim] of integer;v0:integer;vtemp:integer;min:integer;counter:integer;c:integer;beginwriteln('*** result ***');assign(input,'in.txt');reset(input);for i:=1 to 6 dobeginfor j:=1 to 6 dobeginread(input,cost[i,j]);write(cost[i,j]:5);end;writeln;end;{init}v0:=1;for i:=1 to dim dobegindistance[i]:=cost[v0,i];isfound[i]:=false;end;distance[v0]:=0;isfound[v0]:=true;{search}for counter:=1 to dim dobeginmin:=max;for i:=1 to dim dobeginif (distance[i]<min) and (not isfound[i]) then{if there is a path though i,j}beginmin:=distance[i];vtemp:=i;end;end;writeln;isfound[vtemp]:=true;{update}for i:=1 to dim dobeginif (min+cost[vtemp,i]<distance[i]) and (not isfound[i]) thenbegindistance[i]:=min+cost[vtemp,i];for c:=1 to dim dobeginwrite(distance[c]:5);end;writeln;end;end;end;for i:=1 to dim dobeginwrite(isfound[i]:5);end;writeln;for i:=1 to dim dobeginwrite(distance[i]:5);end;writeln;readln;end.

0 0
原创粉丝点击