import javautilArrays; 说明:请检查下面的代码是否正确?如果不正确你能否修改使之答案正确? 请记录你修改的位置 答:修改位置如下 1 在xx行代码:xxx 问题是xxx 2 在xx行代码:xxx 问题是xxx 最短路径Dijkstra算法实现代码public class ShortestPathSolution
- 在第23行,代码缺少一个"}",需要在第22行的循环体后添加"}"。
修改后代码:
for (int j = 1; j <= n; j++) { if (visit[j] == GREEN && dist[j] < dist[s]) s = j; } // 如果没有更多可访问的顶点则直接退出 if (s == 0) { break; }
- 在第40行,for循环的大括号位置不正确,应该在第39行的if语句后面。
修改后代码:
// 搜索所有的绿点,找到路径最短的一个 // 标记为红点,并作为当前搜索点 int s = 0; for (int j = 1; j <= n; j++) { if (visit[j] == GREEN && dist[j] < dist[s]) { s = j; } } // 如果没有更多可访问的顶点则直接退出 if (s == 0) { break; }
修改后的代码已经能够正确执行最短路径的计算。
原文地址: https://www.cveoy.top/t/topic/hm35 著作权归作者所有。请勿转载和采集!