【源码】校园导航系统(迪杰斯特拉)

文章目录

题目介绍

代码量:380

题目介绍:

知识点:图,三维数组等数据结构。采用迪杰斯特拉算法求最短路径、最短时间

功能

【源码】校园导航系统(迪杰斯特拉)

源码效果展示

部分源码及效果展示
【源码】校园导航系统(迪杰斯特拉)
【源码】校园导航系统(迪杰斯特拉)
我们可以加入中间点来查询路径的最快时间和最短路径
【源码】校园导航系统(迪杰斯特拉)

void show4(int i,int j, int temp) 
{
	int k=0,a=i,b=j;
	int S;
	double L;
	int h,m,s;
	printf("\n请输入起始时间(hh:mm:ss):");
	scanf("%d:%d:%d",&h,&m,&s);
	if(shortest[i][j][temp]!=Maxedge)
	{
		if(temp == 0)
		printf("从%s到%s的最短路径为:\n",ver[i].name,ver[j].name);
		if(temp == 1)
		printf("从%s到%s的最快时间的路径为:\n",ver[i].name,ver[j].name);
		printf("%s",ver[i].name);
		while(path[i][j][temp]!=0)
		{
			k=path[i][j][temp];
			while(path[i][k][temp]!=0)
		{
			k=path[i][k][temp];
		}
			printf("----%s",ver[k].name);
			i=k;
		}
		  	printf("----%s;\n",ver[j].name );
		  	if(temp == 0)
		  	{
		  		printf("最短距离为:%d米。\n",shortest[a][b][temp]);
				S = shortest[a][b][temp] / 1;//(人每秒1米) 
				time(h, m, s, S);
			  }
			  	if(temp == 1)
			  	{
			  		printf("最快时间为:%d秒。\n",shortest[a][b][temp]);
					time(h, m, s, shortest[a][b][temp]);	
				  }
					
	}
	else
		printf("从%s不能到达%s。",ver[i].name ,ver[j].name );
}

联系我

你可以选择任意一个联系,不用重复添加

联系方式1:QQ207732272

联系方式2:QQ1436834022

联系方式3:QQ149478984

上一篇:linux 优雅关闭springboot然后自动启动最新jar包的脚本命令


下一篇:CF1051F The Shortest Statement