Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector<int> dist, adj_vertices;
- dist.assign(V, INT_MAX); // Set all distance to maximum as possible
- adj_vertices.push(start); // starting vertex
- dist[start] = 0;
- while (!adj_vertices.empty())
- {
- sort(adj_vertices.begin(), adj_vertices.end());
- int current_vertex = adj_vertices.front();
- adj_vertices.pop();
- for (size_t i = 0; i < edges[current_vertex].size(); i++)
- {
- int next_vertex = edges[current_vertex][i].first;
- int w = edges[current_vertex][i].second;
- if (dist[next_vertex] > dist[current_vertex] + w)
- {
- dist[next_vertex] = dist[current_vertex] + w;
- adj_vertices.push(next_vertex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment