数据构造实例(停车场问题).docx

上传人:安*** 文档编号:18989204 上传时间:2022-06-03 格式:DOCX 页数:12 大小:16.58KB
返回 下载 相关 举报
数据构造实例(停车场问题).docx_第1页
第1页 / 共12页
数据构造实例(停车场问题).docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《数据构造实例(停车场问题).docx》由会员分享,可在线阅读,更多相关《数据构造实例(停车场问题).docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据构造实例(停车场问题)/头文件#include#include#include/函数返回状态代码#defineOK1#defineERROR0#defineTRUE1#defineFALSE0#defineINFEASIBLE-1#defineOVERFLOW-2#defineSIZE5/停车场位置数typedefintStatus;/栈,模拟停车场typedefstructCar1intnumber;/汽车车号intar_time;/汽车到达时间CarNode;typedefstruct/停车场CarNode*base;/停车场的堆栈底CarNode*top;/停车场的堆栈顶intsta

2、cksize;Park;/队列,模拟便道typedefstructCar2/车intnumber;/汽车车号intar_time;/汽车到达时间structCar2*next;*CarPtr;typedefstruct/便道CarPtrfront;/便道的队列的对头CarPtrrear;/便道的队列的队尾intlength;Shortcut;StatusInitStack(Park&P)/初始化停车场P.base=(CarNode*)malloc(SIZE*sizeof(Car1);if(!P.base)exit(OVERFLOW);P.top=P.base;P.stacksize=0;ret

3、urnOK;StatusPush(Park&P,CarNodee)/车进入*P.top+=e;+P.stacksize;returnOK;StatusPop(Park&P,CarNode&e)/车离开if(P.top=P.base)printf(停车场为空。);elsee=*-P.top;-P.stacksize;returnOK;StatusInitQueue(Shortcut&S)/初始化便道S.front=S.rear=(CarPtr)malloc(sizeof(Car2);if(!S.front|!S.rear)exit(OVERFLOW);S.front-next=NULL;S.le

4、ngth=0;returnOK;StatusEnQueue(Shortcut&S,intnumber,intar_time)/车进入便道CarPtrp;p=(CarPtr)malloc(sizeof(Car2);if(!p)exit(OVERFLOW);p-number=number;p-ar_time=ar_time;p-next=NULL;S.rear-next=p;S.rear=p;+S.length;returnOK;StatusDeQueue(Shortcut&S,CarPtr&w)/车离开便道if(S.length=0)printf(通道为空。);elsew=S.front-nex

5、t;S.front-next=S.front-next-next;-S.length;returnOK;StatusArrival(Park&P,Shortcut&S)/对进站车辆的处理intnumber,ar_time;printf(请输入车牌号:);scanf(%d,&number);printf(进场的时刻:);scanf(%d,&ar_time);if(P.stacksizeif(e.number=number)flag=0;money=(le_time-e.ar_time)*2;ar_time=e.ar_time;break;Push(P1,e);while(P1.stacksize

6、)Pop(P1,e);Push(P,e);/车从停车场中出if(flag=0)if(S.length!=0)DeQueue(S,w);m.ar_time=le_time;m.number=w-number;Push(P,m);free(w);printf(车牌号为%d的车已由便道进入停车场n,m.number);printf(停车费为%d,占用车位数为%dn,money,P.stacksize);elseprintf(停车场不存在牌号为%d的车n,number);returnOK;intmain()intm=1;charflag;/选项ParkP,Q;ShortcutS;InitStack(P

7、);InitStack(Q);InitQueue(S);while(m)printf(n停车场管理程序n);printf(=n);printf(*A汽车进车场*n);printf(*n);printf(*D汽车出车场*n);printf(*n);printf(*E退出程序*n);printf(=n);printf(请选择(A,D,E):);scanf(%c,switch(flag)caseA:casea:Arrival(P,S);break;/车进入停车场caseD:cased:Leave(P,Q,S);break;/车离开停车场caseE:casee:m=0;break;default:printf(Inputerror!n);break;while(flag!=n)scanf(%c,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁