Dijkstra源代码

来源:互联网 发布:redhat yum配置 编辑:程序博客网 时间:2024/06/14 04:30
void Dijkstra(){         for(int i=1;i<=n;i++)              dis[i] = map[1][i];     int k;         for(int i=1;i<n;i++){              int tmin = maxint;             for(int j=1;j<=n;j++)                   if( !used[j] && tmin > dis[j] ){                        tmin = dis[j];                k = j;            }            used[k] = 1;              for(int j=1;j<=n;j++)                   if( dis[k] + map[k][j] < dis[j] )                dis[j] = dis[k] + map[k][j];          }          printf("%d",dis[n]);} /* 求1到N的最短路,dis[i] 表示第i个点到第一个点的最短路 By Ping*/

原创粉丝点击