停车场管理问题,有兴趣的朋友可以来看看。

caffery 2003-11-27 06:24:40
问题是这样的:
问题描述:
设停车场是一个可停放n辆汽车狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原来次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试停车编制按上述要求进行管理的模拟程序。

大家可以讲讲自己的思路或算法或程序,当然我也会把我写好的程序和大家一起讨论。现在还在写。。
...全文
62 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
极速小王子 2003-12-01
  • 打赏
  • 举报
回复
链表就可以了,改变指针就可以了!
rerli 2003-12-01
  • 打赏
  • 举报
回复
这个题目很简单啊!:)
以下是我的分析,望大家指正:
1、可以进入停放的车:我用一个栈描述stack_in;
2、便道上等候的车:我用一个队列描述queue;
3、要让路的车:我用一个栈描述stack_out(先从stack_in出栈,然后入stack_out;让过之后再进入stack_in里刚好相反出stack_out入stack_in);
4、车可以用一个结构
struct car
{
time_t in; /*进入时间(time_t是C的time.h中用来描述时间的,可直接用)*/
time_t out; /*出去时间*/
int number; /*车号*/
} CAR;
进入时,给in赋值,出来时给out赋值,算钱可根据时间差。

这样,程序可以轻松搞定。
mfcer2 2003-12-01
  • 打赏
  • 举报
回复
楼主什么时候写好啊!

我等你的源代码,等得花快开了!
idler 2003-11-30
  • 打赏
  • 举报
回复
堆栈基本操作啊,写好完善的函数,就没问题了
ningzhiyu 2003-11-30
  • 打赏
  • 举报
回复
mark一下
taol 2003-11-30
  • 打赏
  • 举报
回复
好像是清华出的那本数据结构习题集上面的一道题......

当年的课设,偶作过啊
hhlong 2003-11-30
  • 打赏
  • 举报
回复
学习的好题目!
junnyfeng 2003-11-29
  • 打赏
  • 举报
回复
有趣
mfcer2 2003-11-29
  • 打赏
  • 举报
回复
这个算法的实现就相当于一个小游戏了!
:-D
mfcer2 2003-11-29
  • 打赏
  • 举报
回复
楼主什么时候把程序贴出来,我想看看!!!
mfcer2 2003-11-28
  • 打赏
  • 举报
回复
这是一个栈的问题,当然还综合了一点随机事件的问题.

楼主大致可以这样考虑:
狭长通道可以看成一个后进先出的栈,北端可作为栈底,南端可作为栈顶;而大门外的便道可以看成一个先进先出的队列.当狭长通道的某辆车要开走时,就从栈顶处将车子一辆辆地弹出栈。当然这是你可以建一个临时队列,用来寄存这些临时弹出的车子。某栈中辆车出栈后,临时队列中的车再一个个地出队,压入栈中。还有,当栈没有满时,便道中的队列就可以入栈。
还有记时记费和停在栈中多长时间的问题,你可以在我提的这个框架中加进去。对于车子你可以创建一个结构体来搞定它,比如:
typedef struct car {
int TotalTime; /* 停入栈中的总时间 */
struct car *next;
} car;

好就说这么多吧!你自己想着试试吧!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧