停车场实验报告.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

停车场实验报告--第1页

.

数据结构实验报告

——实验二停车厂模拟管理程序的设计与实现

本实验的目的是进一步理解线性表的逻辑结构和存储结构,进一步提高使

用理论知识指导解决实际问题的能力。

一、【问题描述】

设停车厂只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车

进出。汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆

汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排

在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭

长的通道,在它之后开入的车辆必须先退出车场为它让路,待该车辆开出大门,

为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走,试

设计这样一个停车厂模拟管理程序。为了以下描述的方便,停车厂的停车场用

“停车位”进行叙述,停车厂的便道用“便道”进行叙述。

二、【数据结构设计】

1、为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的

牌照号码和汽车的当前状态,所以为汽车定义一个新的类型CAR,具体定义如

下:

typedefstruct

{

char*license_plate;//汽车牌照号码,定义为一个字符指针类型

charstate;//汽车当前状态,字符s表示停放在停车位上,

//字符p表示停放在便道上,每辆车的初始状态用字符i来进行表示

}

2、由于车位是一个狭长的通道,所以不允许两辆车同时出入停车位,当有

车到来要进入停车位的时候也要顺次停放,当某辆车要离开时,比它后到的车

要先暂时离开停车位,而且越后到的车就越先离开停车位,显然这和栈的“后

进先出”特点相吻合,所以可以使用一个栈来描述停车位。

由于停车位只能停放有限的几辆车,而且为了便于停车厂的管理,为每个

车位要分配一个固定的编号,不妨设为1、2、3、4、5(可利用数组的下标),

分别表示停车位的1车位、2车位、3车位、4车位。5车位,针对这种情况使

用一个顺序栈比较方便,具体定义如下:

#defineMAX_STOP5

typedefstruct

{

CARSTOP[MAX_STOP];//各汽车信息的存储空间

inttop;//用来指示栈顶位置的静态指针

.

停车场实验报告--第1页

停车场实验报告--第2页

.

}STOPPING;

3、当停车场的停车位上都已经停满了汽车,又有新的汽车到来时要把它调

度到便道上,便道上的车辆要按照进入便道的先后顺序顺次存放在便道上,为

便道上的每个位置也分配一个固定的编号,当有车从停车位上离开后,便道上

的第一辆汽车就立即进入停车位上的某个车位,由于问题描述中限制了便道上

的汽车不能从便道上开走,即便道上的汽车只有在停车位上停放过之后才能离

开停车厂,这样越早进入便道的汽车就越早进入停车位,而且每次进入停车位

的汽车都是处于便道“最前面”的汽车,显然,这和队列的先进先出特点相吻

合,所以,这里使用一个顺序队来描述便道,可以利用数组的下标表示便道的

位置,具体定义如下:

#defineMAX_PAVE100/*便道不限制停放车辆的数目,设为足够大*/

typedefstruct

{

CARPAVE[MAX_PAVE];//各汽车信息的存储空间

intf

文档评论(0)

188****9823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档