迪杰斯特拉算法 最短路

#include
#include
#include
int m,n;
int from[999][999];
int ans;
int vis[999],dis[999];
void prim()
{
    int i,j,k;
    int idex;
    ans=0;idex=0;
    memset(dis,0,sizeof(dis));
    memset(vis,0,sizeof(vis));
    for(i=0;i<=m;i++)dis[i]=from[1][i];
    vis[1]=1;
    for(i=2;i<=m;i++)
    {
        int max=1000000;
        for(j=1;j<=m;j++)
        {
            if(!vis[j]&&dis[j]from[idex][k]+dis[idex])//与最小生成树的一点点不同
                dis[k]=from[idex][k]+dis[idex];
        }
    }
    printf("%d\n",ans);
    return;


}
int main()
{
    int S,E,W;
    int i,j;
    while(scanf("%d %d",&n,&m)!=EOF)
        {
            memset(from,0,sizeof(from));
           for(i=0;i


 

你可能感兴趣的:(迪杰斯特拉算法,最短路)