我用 C++ 编写了一些代码,它找到了两个城市之间通过道路或航班连接的最短路径。城市可以与直航或间接航班相连。用户可以像这样输入航班:
AAA AAG 300
AAA AAB 1
AAA AAG 298
AAB AAC 1
AAB AAG 297
AAC AAD 1
AAC AAG 296
AAD AAE 1
AAD AAG 295
AAE AAF 1
AAE AAG 294
AAF AAG 1
第一个字符串是离开城市,第二个是目的地,数字是飞行时间。我将这些值存储在 3 个向量中:
vector<string> leavingCities;
vector<string> destCities;
vector<int> flightTimes;
我很难在这些向量中找到间接航班 - 我的意思是有时从 AAA 到 AAG 的直接飞行时间比通过 AAB、AAC、AAD、AAE 和 AAF 的间接飞行要大得多,然后我必须选择较短的路线并存储城市我路过。有没有办法找到最短的时间和路线?航班清单可能会有所不同,不一定要像这样。也许有一些更好的容器来存储这样的数据?请帮我。