最短路径(图论-北京地铁线路查询)

目录

  最短路径(图论-北京地铁线路查询)_第1张图片

如果需要资料请联系我或点击此处链接(百度文库)

  最短路径(图论-北京地铁线路查询)_第2张图片

  最短路径(图论-北京地铁线路查询)_第3张图片

 1 int main(){
 2 
 3     printf("北京地铁乘坐线路查询系统\n");
 4 /*---------------------------------------------------*/
 5 
 6 /*---------------------------------------------------*/
 7     freopen("bgstations.txt","r",stdin);
 8     int LINE;                            /*地铁总线数*/
 9     scanf("%d ",&LINE);
10     int i,j;
11     /*初始化*/
12     for(i=0;i)
13         for(j=0;j){
14             graph[i][j].weight=graph[j][i].weight=MAX;
15             graph[i][j].L=graph[j][i].L=0;
16         }
17 /*---------------------------------------------------*/
18     /*建图*/
19     create(LINE);
20     freopen("CON", "r", stdin);
21 /*--------------------------------------------------*/
22     /*查找起始站与终点站对应的顶点编号*/
23     make();
24     system("pause");
25     return 0;
26 }

   最短路径(图论-北京地铁线路查询)_第4张图片

  最短路径(图论-北京地铁线路查询)_第5张图片

 1 可以先控制台输入起始站和终点站char name_start[N],name_end[N];
 2 然后用文件输入:
 3 初始化图的权重和线路编号;
 4 输入线路总数scanf("%d ",&LINE);
 5 循环{
 6        输入线路编号和该路站数scanf("%d %d ",&no,&sum);
 7        设置标记上一站 last=-1 8        循环{
 9              输入站名和换乘状态scanf("%s %d ",name,&is);
10              /*查找该站是否已存在*/ int index=search(name);
11              如果不存在{
12           保存该站,记录该站与上一站的线路编号,
13         并更新last;
14 
15              }否则直接记录并更新last;
16 17

  最短路径(图论-北京地铁线路查询)_第6张图片

最短路径(图论-北京地铁线路查询)_第7张图片

最短路径(图论-北京地铁线路查询)_第8张图片

最短路径(图论-北京地铁线路查询)_第9张图片

最短路径(图论-北京地铁线路查询)_第10张图片

最短路径(图论-北京地铁线路查询)_第11张图片

最短路径(图论-北京地铁线路查询)_第12张图片

最短路径(图论-北京地铁线路查询)_第13张图片

以上内容来自我个人制作的PPT,如果需要资料请联系我或点击此处链接(百度文库)

转载于:https://www.cnblogs.com/ye-buaascse/p/10506786.html

你可能感兴趣的:(最短路径(图论-北京地铁线路查询))