Dijkstra 算法可以求带权有向图的最短路径。下列代码中, 整型变量 n 表示图 G 的顶点数,二维数组 G[n][n] 表示此图的邻接矩阵。一维数组 S[n] 标记各顶点是否已挑选过,挑选过的值为 1 ,未挑选过的值为 0 ; 一维数组 D[n] 保存顶点 0 到 各顶点 的当前最短距离。整型变量 INF=9999 表示无穷大。完善下列函数。 int min() // 从所有未 确定到 顶点 v0 的最短距离的顶点中,选择 { int v=1; while(S[v]) v++; for(int i=1;i
D[i]) ___1___; } return v; } void dijkstra() // 计算顶点 0 到 各顶点 的最短距离 { for(int i=1;i