我必須在兩個給定的城市代碼之間找到火車旅程,如果沒有直接路線,那麼我應該通過其他旅程找到間接路線。如果我想從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
}
我認爲對於間接路線,我必須在其他部分處理它們。但我很努力地想知道我該怎麼做,我想我必須看看第一次出發的目的地,並將其與我給定的目的地相匹配。
忘記代碼 - 無論您使用C++,Java,FORTRAN還是COBOL,都無關緊要。研究圖論並制定算法。在做任何「真正的」編碼之前做這件事(儘管玩弄編碼算法以獲得它們的「感覺」是可以的)。 –
謝謝,我會試試這個。 – Khalid
這證明了計算機科學是多麼具有欺騙性。 – 2013-05-17 20:00:12