Advertisement

用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)

还没有任何评论哟~