Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- QVector<QVector<int>> graf::Floyd(graf &G)
- {
- int inf=9999;
- int V = G.wierzcholek.size();
- QVector<int> tempVec;
- QVector<QVector<int>> distances;
- for (int i=0; i<V; i++) {
- tempVec.push_back(inf);
- }
- for (int j=0; j<V; j++) {
- distances.push_back(tempVec);
- }
- for (int k=0; k<G.krawedz.size(); k++) {
- distances[G.krawedz[k].from][G.krawedz[k].to] = G.krawedz[k].dlugosc;
- distances[G.krawedz[k].to][G.krawedz[k].from] = G.krawedz[k].dlugosc;
- }
- for (int i=0; i<V; i++) {
- distances[i][i] = 0;
- }
- // Wypisywanie macierzy dla grafu o X wierzchołkach
- for (int k=0; k<V; k++) {
- for (int i=0; i<V; i++) {
- for (int j=0; j<V; j++) {
- if (distances[i][k] + distances[k][j] < distances[i][j])
- distances[i][j] = distances[i][k] + distances[k][j];
- }
- }
- }
- return distances;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement