弗洛伊德(Floyd)算法

实现了一下弗洛伊德算法 在相应的代码处做了标记

#include <stdio.h>   
#include<iostream>
#define MaxVertexNum 100   
#define INF 32767   
using namespace std;
   typedef struct  
   {   
      char vertex[MaxVertexNum];//顶点数组   
      int edges[MaxVertexNum][MaxVertexNum];//邻接矩阵   
      int n,e;   
  }MGraph;   
   
  void CreateMGraph(MGraph &G)   
  {   
      int i,j,k,p;   
      cout<<"请输入顶点数和边数:";   
      cin>>G.n>>G.e;   //n为顶点数
      cout<<"请输入顶点元素:";   
      for (i=0;i<G.n;i++)   
      {   
          cin>>G.vertex[i];   //输入顶点信息
      }   
      for (i=0;i<G.n;i++)   
      {   
          for (j=0;j<G.n;j++)   
          {   
              G.edges[i][j]=INF;   //初始化边的权值信息  初始化的时候都将其设置为最大值状态
              if (i==j)   
              {   
                  G.edges[i][j]=0;   //对角线元素设置为0
              }   
          }   
      }      
      for (k=0;k<G.e;k++)   
      {   
          cout<<"请输入第"<<k+1<<"条弧头
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值