Python|火车在Y型调度线的调度
问题描述假设火车调度场有一个Y型调度线,其中一条支线上有一列客车车厢,其中任意交错出现硬座车厢和卧铺车厢,现需要将它们重新排列为硬座在前卧铺在后的一列客车,从另一支线推出。这里只有一个车头在Y型铁路顶端,请为其设计一个调度算法。解决方案首先,分析问题。该火车需要将硬卧交错的车厢重新排列为硬卧在前卧铺在后。其次,对于火车这一类重新排列的现实场景,我们应根据现实情况进行解决。故此,在这类题中,我们应利用栈的先进后出、后进先出的思想,而不采用队列进行解决。解决思路:1.让火车车厢依次进入。2.判断火车车厢的类型(硬座车厢、卧铺车厢)。3.若硬座车厢进栈,则让其与车头或者硬座车厢相接;相反,卧铺车厢进栈,则让其出栈。4.最后火车车厢已全部进栈出栈,则让卧铺车厢全部进栈




while "支线上有车厢":if "车厢" == "硬座车厢":连接车头或硬座车厢elif "车厢" == "卧铺车厢":进入另一条支线else "车厢" == None:另一支线所有卧铺车厢连接硬座车厢结语本文主要围绕如何利用栈解决火车调度这一问题展开。在学习过程中,我们发现在解决问题以及编写代码中,我们已经能够很好的运用栈的思想解决问题,并且知道在解决问题时,我们要根据实际情况进行分析。但是在编写代码过程中,仍不能熟练的编写,以及会出现一些不必要的错误。在以后的学习中应当时常进行练习,并进行编写,减少不必要错误的发生。 实习编辑:王晓姣作者:钟妍,杨月涵,欧恒丽
赞 (0)
