• 大小: 1KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2021-06-24
  • 语言: C/C++
  • 标签: Dijkstra  C  C++  最短路  

资源简介

DIJKSTRA单源最短路径算法C/C++实现,内有注释,输入邻接矩阵,输入源点到终点最短路径长度。

资源截图

代码片段和文件信息

#include 
#include 
#define MAX 20
int mincost(int V[] int D[] int n);
int main()
{
    int C[MAX][MAX];
    int D[MAX] V[MAX] = { 0 }; /*数组V用来表示每次计算加入集合V的点,1为加入了,0为还没有加入*/
    int n i j k w sum;
    printf(“请输入顶点个数:“);
    scanf(“%d“ &n);
    printf(“\n请输入建立后的临接矩阵(用n*n矩阵表示) 输入100000表示无穷大:\n“);
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= n; j++)
        {
            scanf(“%d“ &C[i][j]);
        }
    }
    V[1] = 1;   /*1为源点*/
    for(i = 1; i <= n; i++)
    {
        D[i] = C[1][i];  /*D置初值*/
    }
    for(i = 1; i <= n; i++)
    {
        /*从集合S(即没有经过计算的点)中选出一个点w(即V中值为0),使D[w]值最小*/
        w = mincost(V D n);

评论

共有 条评论