È«¹ú½»Í¨×ÉѯģÄâϵͳʵÑ鱨¸æ

ҳüÄÚÈÝ

£¨14£©¼ÆËã×îС·ÑÓ÷Ïߣº

int CalcMinCost (int StartCity,int EndCity,int TravelType) {

int ma[Dij_MAXN][Dij_MAXN]; int i,j,min,end;

for (i=0;i

for (i=0;i

min=32767;j=0;

41

for (i=0;i

min=32767;j=0;

while (j

min=32767;

end=AdjList[i].Train[j].EndCity; while { }

ma[i][end]=min;

if (AdjList[i].Train[j].Cost

min=AdjList[i].Train[j].Cost; } j++;

(end==AdjList[i].Train[j].EndCity&&j

Ò³½ÅÄÚÈÝ

ҳüÄÚÈÝ

}

}

while (j

{ }

min=32767;

end=AdjList[i].Flight[j].EndCity; while { }

ma[i][end]=min;

if (AdjList[i].Flight[j].Cost

min=AdjList[i].Flight[j].Cost; } j++;

(end==AdjList[i].Flight[j].EndCity&&j

Dijkstra(ma,StartCity,EndCity,TravelType); return 1;

Îå¡¢¹¦ÄÜÄ£¿é¼äº¯ÊýµÄµ÷ÓùØÏµ£¬ÈçÏÂͼËùʾ£º SearchMinTime() ×î¶Ìʱ¼ä£º InitSysData() SeekCity(name) CalcMinTime(start city,endcity,travelty pe) SaveSysInfo() ÏÔʾ²Ëµ¥£º ShowMenu() Ìí¼Ó³ÇÊУº InitSysData() InsertCity(Name) SaveSysInfo() Ò³½ÅÄÚÈÝ41 int main() DelCity(): SeekCity(name) ҳüÄÚÈÝ

×îС·ÑÓ㺠InitSysData() SeekCity(name) SeekCity(name) Calcmincost(startciɾ³ý·Ïߣº ty,endcity,traveltyp InitSysData() e) DelPath(name) SaveSysInfo() SaveSysInfo() CalcMinCost(): Dijkstra(ma,StertCity,EndCity,TravelT Dijkstra(): ype) Dijkstra_OutPut(m atx,PreCity,p_end,TravelType) Áù¡¢µ÷ÊÔ½á¹û£º 1¡¢Ö÷½çÃæ£º

Ò³½ÅÄÚÈÝ

41

ɾ³ý³ÇÊУº InitSysData() DelCity(Name) SaveSysInfo() Ìí¼Ó·Ïߣº InitSysData() InsertFlight(name,s_city,e_city,s_hour*60+s_minute,e_hour*60+e_minute,cost) InsertFlight(name,s_city,e_city,s_hour*60+s_minute,e_hour*60+e_minute,cost) SaveSysInfo() InsertTrain(): InsertFlight(): SeekCity(StartCity) SeekCity(StartCity) SeekCity(EndCity) SeekCity(EndCity) ҳüÄÚÈÝ

2¡¢Ìí¼Ó³ÇÊУºÊäÈëÃüÁî1ºó£¬°´ÌáʾÊäÈë³ÇÊÐÃû£¬¶øºó·µ»ØÖ÷½çÃæ

Ô­cityÎļþ£º

Ò³½ÅÄÚÈÝ

41

ҳüÄÚÈÝ

Ìí¼Ó³ÇÊкóµÄcityÎļþ£º

3¡¢É¾³ý³ÇÊУºÊäÈëÃüÁî2ºó£¬°´ÌáʾÊäÈë³ÇÊÐÃû£¬¶øºó·µ»ØÖ÷½çÃæ

Ò³½ÅÄÚÈÝ

41

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4