1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| function [] = print_path(path,dist,i,j)
if i == j warning('起点和终点相同,请检查后重新输入') return; end if path(i,j) == j
if dist(i,j) == Inf disp(['从',num2str(i),'到',num2str(j),'没有路径可以到达'])
else disp(['从',num2str(i),'到',num2str(j),'的最短路径为']) disp([num2str(i),' ---> ',num2str(j)]) disp(['最短距离为',num2str(dist(i,j))]) end else k = path(i,j); result = [num2str(i),' ---> ']; while k ~= j result = [result , num2str(k) , ' ---> ' ]; k = path(k,j); end result = [result , num2str(k)]; disp(['从',num2str(i),'到',num2str(j),'的最短路径为']) disp(result) disp(['最短距离为',num2str(dist(i,j))]) end
end
|