用C语言实现的迪杰斯特拉算法
发布时间
阅读量:
阅读量
近期在进行软件设计相关工作时,我选择开发一个地铁换乘管理系统,该系统中需要应用到迪杰斯特拉算法。借此机会,我重新温习了该算法的相关知识,并将实现过程的代码整理作为个人的第一篇技术博客内容。
#include<stdio.h>
#include<stdlib.h>
#define INF 1000000
#define MAX 100
typedef struct Graph{
int vexnum;//顶点个数
char vexs[MAX];//顶点集合
int matrix[MAX][MAX];//邻接矩阵
}graph;
void djistra(graph g,int pre[],int dist[],int vx){
// creatmartix(g);
//pre[x]是记录顶点vx到顶点x的最短路径上x的前一个节点
//dist[x]是记录点vx到点x的最短距离
int flag[g.vexnum];//某个点的flag为0,那么这个点还未被访问,若flag==1那么这个点已经被访问并加入到了最短路径之中。
//初始化数据
for(int i=0;i<g.vexnum;i++){
全部评论 (0)
还没有任何评论哟~
