|
假設(shè)火車調(diào)度場有一個Y型調(diào)度線,其中一條支線上有一列客車車廂,其中任意交錯出現(xiàn)硬座車廂和臥鋪車廂,現(xiàn)需要將它們重新排列為硬座在前臥鋪在后的一列客車,從另一支線推出。這里只有一個車頭在Y型鐵路頂端,請為其設(shè)計一個調(diào)度算法。首先,分析問題。該火車需要將硬臥交錯的車廂重新排列為硬臥在前臥鋪在后。其次,對于火車這一類重新排列的現(xiàn)實場景,我們應根據(jù)現(xiàn)實情況進行解決。故此,在這類題中,我們應利用棧的先進后出、后進先出的思想,而不采用隊列進行解決。3.若硬座車廂進棧,則讓其與車頭或者硬座車廂相接;相反,臥鋪車廂進棧,則讓其出棧。4.最后火車車廂已全部進棧出棧,則讓臥鋪車廂全部進棧  
 
while "支線上有車廂": if "車廂" == "硬座車廂": 連接車頭或硬座車廂 elif "車廂" == "臥鋪車廂": 進入另一條支線 else "車廂" == None: 另一支線所有臥鋪車廂連接硬座車廂 | 本文主要圍繞如何利用棧解決火車調(diào)度這一問題展開。在學習過程中,我們發(fā)現(xiàn)在解決問題以及編寫代碼中,我們已經(jīng)能夠很好的運用棧的思想解決問題,并且知道在解決問題時,我們要根據(jù)實際情況進行分析。但是在編寫代碼過程中,仍不能熟練的編寫,以及會出現(xiàn)一些不必要的錯誤。在以后的學習中應當時常進行練習,并進行編寫,減少不必要錯誤的發(fā)生。實習編輯:王曉姣
|