2014-10-27 79 views
-1

http://www.algolist.com/code/c/Dijkstra“s_algorithm的getPath()Dijkstra算法用C

这是获取最短路径的代码。我不知道如何在上述实现中实现getpath()。

如果你在C中有更好的Dijkstra算法实现,那对我来说意义重大。

void getpath(int s, int t, int pred[]) { 
    int current = t; 
    while (current != s) { 
     printf("%d -> ", current); current = pred[current]; 
    } 
    printf("%d\n",current); 
} 
+0

那么你有什么尝试?你遇到任何错误?你有任何代码吗? – 2014-10-27 05:39:39

+0

void getpath(int s,int t,int pred []){ int current = t; while(current!= s)printf(“%d - >”,current); current = pred [current]; } printf(“%d \ n”,current); } – user3339866 2014-10-27 05:41:29

+1

在评论部分很难阅读代码。你可以编辑你的问题,并把你的问题的代码? – SSC 2014-10-27 05:51:03

回答

0

in this link化妆成本int类型的2D阵列和全局变量调用shortpath(cost,preced,distance);main()

之后,该cost[][] 2D阵列将具有路径沿与长度选择其中的最短

应用之前我建议你先理解Dijkstra的算法,首先这里是链接[Dijkstra的算法2http://www.youtube.com/watch?v=0nVYi3o161A