Advertisement
Adrimi

Untitled

Jan 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1.  
  2. QVector<QVector<int>> graf::Floyd(graf &G)
  3. {
  4. int inf=9999;
  5. int V = G.wierzcholek.size();
  6. QVector<int> tempVec;
  7. QVector<QVector<int>> distances;
  8.  
  9. for (int i=0; i<V; i++) {
  10. tempVec.push_back(inf);
  11. }
  12.  
  13. for (int j=0; j<V; j++) {
  14. distances.push_back(tempVec);
  15. }
  16.  
  17. for (int k=0; k<G.krawedz.size(); k++) {
  18. distances[G.krawedz[k].from][G.krawedz[k].to] = G.krawedz[k].dlugosc;
  19. distances[G.krawedz[k].to][G.krawedz[k].from] = G.krawedz[k].dlugosc;
  20. }
  21.  
  22. for (int i=0; i<V; i++) {
  23. distances[i][i] = 0;
  24. }
  25.  
  26. // Wypisywanie macierzy dla grafu o X wierzchołkach
  27.  
  28. for (int k=0; k<V; k++) {
  29. for (int i=0; i<V; i++) {
  30. for (int j=0; j<V; j++) {
  31. if (distances[i][k] + distances[k][j] < distances[i][j])
  32. distances[i][j] = distances[i][k] + distances[k][j];
  33. }
  34. }
  35. }
  36. return distances;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement