文章目录
题目介绍
代码量: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