ҳüÄÚÈÝ
£¨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