| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1690 人关注过本帖
标题:无向图的迪杰斯特拉最短路径问题算法的C++代码,最好有有注释。
只看楼主 加入收藏
chufengxinzi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-5-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
无向图的迪杰斯特拉最短路径问题算法的C++代码,最好有有注释。
template<class DataType>
class MGraph
{
    public:
          加权图的建立;
           ~           
          迪杰斯特拉算法(开始的节点);
    private:
          int arc[][];//顶点间关系数组,包含权值
          DataType vertex[];//顶点元素
          int n;//顶点的数量
          int b;//边的数量
}
求大神实现一下迪杰斯特拉的最短路径的输出
         
         
搜索更多相关主题的帖子: 最短路径 算法 C++ 注释 int 
2018-05-30 18:04
a201187902
Rank: 2
等 级:论坛游民
帖 子:5
专家分:20
注 册:2018-5-1
收藏
得分:20 
#include<stdio.h>
#include<stdlib.h>
#define max 32767
int i, j, k, w,v,min;
struct map
{
    int a[100][100];
};
void crate(map &m,int n,int e)
{
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            m.a[i][j] = max;
    printf("i ,j ,w\n");
    for (int k=1; k <= e; k++)
    {
        scanf_s("%d%d%d", &i, &j, &w);
            m.a[i][j] = w;
    }
    printf("创建完成!\n    ");
}
void dijiesite(map g, int n, int v1)
{
    int  s[100],d[100], p[100];
    for (v = 1; v <= n; v++)
    {
        d[v] = g.a[v1][v];
        s[v] = 0;
        if (d[v] < max)
        {
            p[v] = v1;
        }
        else
            p[v] = 0;
    }
    d[v1] = 0, s[v1] = 1;
    for (i = 1; i <= n; i++)
    {
        printf("%d", d[i]);
        v = p[i];
        printf("%5d", i);
        while (v != 0)
        {
            printf("<-%d", v);
            v = p[v];
        }
        printf("\n");
    }
}
void main()
{
    map m;
    printf("输入顶点 边数\n");
    int n, e;
    scanf_s("%d%d", &n,&e);
    crate(m, n,e);
    printf("输入源点:");
    scanf_s("%d", &v);
    dijiesite(m, n, v);
    system("pause");
}
2018-05-31 19:50
快速回复:无向图的迪杰斯特拉最短路径问题算法的C++代码,最好有有注释。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048196 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved