我必须找到两个给定城市代码之间的火车旅程,如果没有直接路线,那么我应该通过其他旅程找到间接路线。如果我想从 A 到 B,我可能必须从 A 到 C 到 B。
我的火车路线文件格式为:出发代码目的地代码公司价格时间这查看两个城市代码之间的直接路线。
现在我已经将以下循环用于直接连接,并且它有效,我只需要间接连接的帮助。
// load file data into v1
string dep, dest;
cout << "\n\tEnter the departure: ";
cin >> dep;
cout << "\n\tEnter the destination: ";
cin >> dest;
for(int i = 0; i < v1.size(); ++i) {
// Departure() and Destination(), return the departure/destination codes
if (v1[i].Departure() == dep && v1[i].Destination() == dest)
// here I find all the direct routes
else
// indirect routes dealt with here
}
我认为对于间接路线,我必须在其他部分处理它们。但我很难知道我会怎么做,我想我必须看看第一次出发的目的地在哪里,并将它与我给定的目的地相匹配。