正在加载图片...
draw(maze, s) printf(“此迷宫无通路\n”);/*如果没找到显示无通路 4、停车场管理 [问题描述]有一个可以停放n辆汽车的狭长停车场,它只有一个大门 可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门 口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已停放 满n辆车,则后来的车辆只能在停车场大门外的便道上等候,一旦停车场内 有车开走,则排在便道上的第一辆车就进入停车场。停车场内如果有某辆车 要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出 停车场后,这些车再按原来的次序进场。每辆车在离开停车场是,都应根据 它在停车场内停留的时间长短交费。如果停留在便道上的车未进入停车场就 要离去,允许其离去,不收停车费,并仍然保持在便道上等待的车辆的次序。 编制一个程序模拟该停车场的管理。 [实现要求]要求程序输出每辆车到达后的位置(停车场或便道上), 以及某辆车离开停车场是应交纳的费用和它在停车场内停留的时间 [实现提示]汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照 号码,到达/离去的时刻)。例如,(A',1,5)表示1号牌照车在5这个时 刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个过程 可以在输入信息为(‘E’,0,0)时结束。本题可以用栈和队列来实现 [程序实现] (1)设计思想 根据题目要求,停车场只有一个门,因此可用一个栈来模拟;而当栈满 后,继续来到的车辆只能停在便道上,根据便道停车的特点,可知这可以用 个队列来模拟,先排队的车辆先离开便道,进入停车场。由于停在停车场 中间的车辆可以提出离开停车场,并且要求在离开到停车场到停车场大门之 间的车辆都必须先离开停车场,让此车离去,然后再让这些车辆按原来的次 序进入停车场,因此在一个栈和队列的基础上,还需要有一个地方(车辆规 避所)保存为了让路而离开停车场的车辆,很显然这也应该用一个栈来模拟 因此本题中用到两个栈和一个队列 对于停车场和车辆贵比索,有车辆经过和离去两个动作,这就是栈的进 栈和出栈操作,只是还允许排在中间的车辆先离开停车场,因此在栈中需要 进行查找。而对于便道,也有如队列和入队列的操作,同样允许排在中间的 车辆先离开队列。这样基本动作只需利用栈和队列的基本操作即可实现 整个操作过程是:当输入数据表示有车辆到达,则判断栈是否慢,若未 满就将新数据进栈(表示新到达的车辆进入停车场的里面),数据应包括车draw(maze,s); } else printf(“此迷宫无通路\n”);/*如果没找到显示无通路 } 4、停车场管理 [问题描述] 有一个可以停放 n 辆汽车的狭长停车场,它只有一个大门 可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门 口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已停放 满 n 辆车,则后来的车辆只能在停车场大门外的便道上等候,一旦停车场内 有车开走,则排在便道上的第一辆车就进入停车场。停车场内如果有某辆车 要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出 停车场后,这些车再按原来的次序进场。每辆车在离开停车场是,都应根据 它在停车场内停留的时间长短交费。如果停留在便道上的车未进入停车场就 要离去,允许其离去,不收停车费,并仍然保持在便道上等待的车辆的次序。 编制一个程序模拟该停车场的管理。 [实现要求] 要求程序输出每辆车到达后的位置(停车场或便道上), 以及某辆车离开停车场是应交纳的费用和它在停车场内停留的时间。 [实现提示] 汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照 号码,到达/离去的时刻)。例如,(‘A’,1,5)表示 1 号牌照车在 5 这个时 刻到达,而(‘D’,5,20)表示 5 号牌照车在 20 这个时刻离去。整个过程 可以在输入信息为(‘E’,0,0)时结束。本题可以用栈和队列来实现。 [程序实现] (1) 设计思想 根据题目要求,停车场只有一个门,因此可用一个栈来模拟;而当栈满 后,继续来到的车辆只能停在便道上,根据便道停车的特点,可知这可以用 一个队列来模拟,先排队的车辆先离开便道,进入停车场。由于停在停车场 中间的车辆可以提出离开停车场,并且要求在离开到停车场到停车场大门之 间的车辆都必须先离开停车场,让此车离去,然后再让这些车辆按原来的次 序进入停车场,因此在一个栈和队列的基础上,还需要有一个地方(车辆规 避所)保存为了让路而离开停车场的车辆,很显然这也应该用一个栈来模拟。 因此本题中用到两个栈和一个队列 对于停车场和车辆贵比索,有车辆经过和离去两个动作,这就是栈的进 栈和出栈操作,只是还允许排在中间的车辆先离开停车场,因此在栈中需要 进行查找。而对于便道,也有如队列和入队列的操作,同样允许排在中间的 车辆先离开队列。这样基本动作只需利用栈和队列的基本操作即可实现。 整个操作过程是:当输入数据表示有车辆到达,则判断栈是否慢,若未 满就将新数据进栈(表示新到达的车辆进入停车场的里面),数据应包括车
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有