| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 990 人关注过本帖
标题:无向邻接矩阵用迪杰斯特拉算法输出的问题
只看楼主 加入收藏
wei_fan
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-16
结帖率:100%
收藏
 问题点数:0 回复次数:4 
无向邻接矩阵用迪杰斯特拉算法输出的问题
各位大虾帮忙看看我这个程序错在那里啊?小弟急啊……
#include<stdio.h>
#define max 20
#define MAXCOST 4
typedef strcuct
{
 
 char vexs[max];
 int arcs[max][max];
 int vexnum,arcnum;
}mgraph;
void spath(mgraph g,int v)
{
    struct
    {
        int length;
        int pre;
    }dist[max];
     int final[max];
     int i,j,k,min;
struct
{
    int data[max];
    int top;
}s;
for(i=0;i<g.vexnum;i++)
{
    final[i]=0;
    dist[i].length=g.arcs[v][i];
    if(dist[i].length<MOXCOST)
        dist[i].pre=v;
    else
        dist[i].pre=-1;
}
dist[v].pre=-1;
final[v]=1;
for(i=0;i<g.vexnum;i++)
{
    min=MAXCOST;
    for(j=0;j<g.vexnum;j++)
        if((!final[j]&&)&&(dist[j].length<min))
        {
            min=dist[j].length;
            k=j;
        }
        if(min<MAXCOST)
        {
            final[k]=1;
            for(j=0;j<g.vexnum;j++)
                if(!final[j]&&(min+g.arcs[k][j]<dist[j].length))
                {
                    dist[j].length=min+g.arcs[k][j];
                    dist[j].pre=k;
                }
                else break;
        }
}
for(i=0;i<g.vexnum;i++)
{
    printf("%c->%c: %d  \n",g.vexs[v],g.vexs[i],dist[i].length);
    s.top=-1;s.data[++s.top]=i;
    j=dist[i].pre;
    while(j!=-1)
    {
        s.data[++s.top]=j;
        j=dist[j].pre;
    }
    while(s.top!=-1)
        printf("%c",g.vexs[s.data[s.top--]]);
    printf("\n");
}
}
void main()
{
    mgraph g;
    int v=4;
    g.arcs[0][1]=3,g.arcs[0][2]=8,g.arcs[0][3]=5,
    g.arcs[1][0]=3,g.arcs[1][2]=4,g.arcs[1][3]=6,
    g.arcs[2][0]=8,g.arcs[2][1]=4,g.arcs[2][3]=2,
    g.arcs[3][0]=5,g.arcs[3][1]=6,g.arcs[3][2]=2;
    spath(g, v);
}
搜索更多相关主题的帖子: 迪杰斯特拉 邻接矩阵 算法 输出 
2008-12-01 21:49
wei_fan
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-16
收藏
得分:0 
那位大虾给小弟指导哈啊
2008-12-01 21:51
wei_fan
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-16
收藏
得分:0 
有没有人会啊?
2008-12-02 22:43
wei_fan
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-16
收藏
得分:0 
??……
2008-12-05 16:42
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
楼主的代码初看像acmer,但是居然还在void main....

dijkstra代码网上到处都是,没有人会愿意无偿改一个经典算法的代码

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-12-05 17:11
快速回复:无向邻接矩阵用迪杰斯特拉算法输出的问题
数据加载中...
 
   



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

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