⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shortest.c

📁 本程序编写了一个dijkstra算法求解最短路问题
💻 C
字号:
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{/*变量申明部分*/
	
 /*最短路函数调用部分*/
	int Dijkstra(int dist[SIZE][SIZE],int s,int t, int path[])/*dijkstra算法寻找s-t的最短路长和最短路径*/
      {
          int i,j,n,w,minc,d[SIZE],mark[SIZE];
          n=SIZE;
          for (i=0;i<n;i++) mark[i]=0;
          for (i=0;i<n;i++)
              { d[i]=dist[s][i];
              path[i]=s; }
          mark[s]=1;path[s]=0;d[s]=0;
          for (i=1;i<n;i++)
              {
              minc=30000;
              w=0;
              for (j=0;j<n;j++)
                  if ((mark[j]==0)&&(minc>=d[j])) {minc=d[j];w=j;}
              mark[w]=1;
              for (j=0;j<n;j++)
              if ((mark[j]==0)&&(dist[w][j]!=30000)&&(d[j]>d[w]+dist[w][j]))
                  { d[j]=d[w]+dist[w][j];
                  path[j]=w;
                  }
              }
           return d[t];
      }
 /*输出部分*/
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -