假设火车调度场有一个Y型调度线,其中一条支线上有一列客车车厢,其中任意交错出现硬座车厢和卧铺车厢,现需要将它们重新排列为硬座在前卧铺在后的一列客车,从另一支线推出。这里只有一个车头在Y型铁路顶端,请为其设计一个调度算法。首先,分析问题。该火车需要将硬卧交错的车厢重新排列为硬卧在前卧铺在后。其次,对于火车这一类重新排列的现实场景,我们应根据现实情况进行解决。故此,在这类题中,我们应利用栈的先进后出、后进先出的思想,而不采用队列进行解决。3.若硬座车厢进栈,则让其与车头或者硬座车厢相接;相反,卧铺车厢进栈,则让其出栈。4.最后火车车厢已全部进栈出栈,则让卧铺车厢全部进栈  
 
while "支线上有车厢": if "车厢" == "硬座车厢": 连接车头或硬座车厢 elif "车厢" == "卧铺车厢": 进入另一条支线 else "车厢" == None: 另一支线所有卧铺车厢连接硬座车厢 | 本文主要围绕如何利用栈解决火车调度这一问题展开。在学习过程中,我们发现在解决问题以及编写代码中,我们已经能够很好的运用栈的思想解决问题,并且知道在解决问题时,我们要根据实际情况进行分析。但是在编写代码过程中,仍不能熟练的编写,以及会出现一些不必要的错误。在以后的学习中应当时常进行练习,并进行编写,减少不必要错误的发生。实习编辑:王晓姣
|