最短路径

//Floyd算法——C++描述
#include "string"
#include <iostream>
using namespace std;
struct MGraph
{
 int  arc[10][10];
    string vertex[10];
 int vertexNum;
};
void Floyd(MGraph G,string   path[][100],int dist[][10])
{
 int i,j ,k;

    for (i=0; i<G.vertexNum; i++)       
    for (j=0; j<G.vertexNum; j++)
    {
     dist[i][j]=G.arc[i][j];
     if (dist[i][j]!=10000)
       path[i][j]=G.vertex[i]+G.vertex[j];
     else path[i][j]=" ";
    }
    for (k=0; k<G.vertexNum; k++)        
       for (i=0; i<G.vertexNum; i++)      
          for (j=0; j<G.vertexNum; j++)
           if (dist[i][k]+dist[k][j]<dist[i][j])
     {
             dist[i][j]=dist[i][k]+dist[k][j];
             path[i][j]=path[i][k]+path[k][j];
     }
}
 
void main()
{
 string path[10][10];
 int dist[10][10],i,j;
 //cin>>i>>j;
    MGraph G;
 cin>>G.vertexNum;

 for(i=0;i<G.vertexNum ;i++)
 {
  cin>>G.vertex[i];
  for(j=0;j<G.vertexNum ;j++)
  {
   cin>>G.arc[i][j];
  }
   
 }

}

 

原文链接: https://www.cnblogs.com/panlijiao/archive/2012/05/06/2486656.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    最短路径

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/49549

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午1:13
下一篇 2023年2月9日 上午1:14

相关推荐