void Dijkstra(int n, int s, vector<vector<int>> G, vector<bool> &visited,
vector<int> &d) {
// 先初始化所有的距离 d[i]表示s到i的最小距离
fill(d.begin(), d.end(), INT_MAX);
for (int i = 0; i < n; i++) {
// 选出最小距离的点
int u = -1;
int MIN = INT_MAX;
for (int j = 0; j < n; j++) {
if (visited[j] == false && d[j] < MIN) {
MIN = d[j];
u = j;
}
}
复制功能
最新推荐文章于 2023-12-07 16:14:50 发布