📄 shorttime.cpp
字号:
#include"traffic.h"
step Shorttime(ALGraph G,int kind,StrARR path,int n)
{
time_t now;
struct tm *pTime;
ArcNode *p;
int i,j,m,minday,minhour,minminute,hour,minute,day,min;
Dtime arrive;
openfile("head");
time(&now);
pTime = localtime(&now);
minhour = MAX;
minminute = MAX;
minday = MAX;
min = -1;
for(i = 0;i < n;i ++)
{
day = 0;
hour = 0;
minute = 0;
arrive.hour = pTime->tm_hour;
arrive.minute = pTime->tm_min;
for( j = 0; path[i][j+1] != -1; j++)
{
for(p = G.vertices[path[i][j]].firstarc;p && p->adjvex!=path[i][j+1]; p = p-> nextarc);
if(!p->Tool[kind])
{
day = MAX;
hour = MAX;
minute = MAX;
break;
}
else
{
for(m = 0;GLtime(arrive,p->Tool[kind]->starttime[m]) && m < p -> Tool[kind]->line;m ++);
if(m == p -> Tool[kind]->line)
{
minute = minute + (60 - arrive.minute)%60;
hour = hour + (23 + (60 - arrive.minute)/60 )- arrive.hour;
arrive.hour = 0;
arrive.minute = 0;
m = 0;
}
Counttime(arrive,p -> Tool[kind]->starttime[m],
p->Tool[kind]->drivetime,day ,hour,minute);
}
}
if(day < minday || day == minday && hour < minhour || day == minday && minhour == hour &&minminute < minute)
{
minday = day;
minhour = hour;
minminute = minute;
min = i;
}
}
if(min == -1)
printf("There is no path!!");
else
{
printf(" short time path(%d %d:%d):\n\n",minday,minhour,minminute);
printpath(G,kind,path,min);
};
return NEXTSTEP;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -