• 大小: 1.33KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-21
  • 标签: 算法  

资源简介

迪杰斯特拉算法(Dijkstra.cpp)

资源截图

代码片段和文件信息

#include
using namespace std;
#define maxSize 10
#define INF 10000  //用INF表示无穷大,即当边的权值为INF时,表示两点间无边。 

typedef struct {
int edges[maxSize][maxSize];
int ne;//定点数,边数
}MGraph;

void Dijkstra(MGraph gint vint dist[]int path[]){
int set[maxSize];//标记数组,为1表示已在路径中,为0表示不在路径中。 
int miniju;

/*初始化*/ 
for(i=0;i dist[i]=g.edges[v][i];
set[i]=0;
if(g.edges[v][i] path[i]=v;
else
path[i]=-1;

set[v]=1;
path[v]=-1;
/*Init end*/

for(i=0;i min=INF;
for(j=0;j if(set[j]==0&&dist[j] u=j;
min=dist[j];
}
}
set[u]=1;
for

评论

共有 条评论