还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
停车场管理摘要栈和队列是运算受限的线性表,它们被广泛地应用于各种程序设计中在停车场管理问题中,通过使用顺序栈模拟停车场,链队列模拟车场外的便道,实现车辆入栈,出栈,入队列,出队列,信息输出等功能用两个堆栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点至于通道上车辆的停放则用一个链队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此链队列上的结点对于要对停车场内的车辆根据其停放时间收取相应的停车费用,可以记录下车辆进入以及离开停车场的时间,再用时间差乘以相应的单价即可使用顺序栈存放进入车场的车辆,链队列存放有关车场外便道的情况,通过此程序的编写及运行,深刻理解线性表和栈的逻辑结构,存储结构,掌握线性表和栈上基本运算的实现关键词顺序栈;链队列;停车场THEOPERATORORDERINGPROBLEMINQUANTUMHAMITONIANFORSOMECONSTRAINTSYSTEMSABSTRACTAccordingtosurfacetheoryindifferentialgeometrythetwo-dimensionalsurfaceisparameterizedbytwovariables.Thisiswhenaparticlemovesonthesurfaceonlytwovariablessufficetodescribethemotionoftheparticle.…………Keywords:quantummechanics;operatorordering;Hermitianoperator;canonicalquantization;gaugetransformation目录1绪论……………………..…………………………………………………….
11.1课题背景及目的……………………………………………………………………
1.1课题背景及目的栈和队列是两种特殊的线性表,并且被广泛地应用于各种程序设计中通过该程序的演示,能够在今后的学习中更深入的了解栈和队列的特性,在解决实际问题时灵活运用它们栈是后进先出的线性表,在使用时附设指针top指示栈顶元素在顺序栈中的位置;队列是先进先出的线性表,在使用时需附设头指针和尾指针通过该课题加深对《数据结构》这一课程所学内容的进一步理解与巩固;加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;深入了解栈和队列的特性,掌握栈和队列的存储方法;掌握栈和队列的基本操作,如初始化、入栈(队列)、出栈(队列)等,并能在实际问题背景下灵活运用;培养分析问题、解决实际问题的能力
1.2课题设计任务设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用试为停车场编制按上述要求进行管理的模拟程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟2流程图
2.1流程图3调试分析和体会
3.1调试分析我直接设n=2,并且输入数据为(‘A’,1,5),(‘A’,2,10),(‘D’,1,5),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)其中‘A’表示到达(Arrival),‘D’表示离去(Departure),‘E’表示输入结束(End)输入E00后退出
3.2经验体会通过这这段时间的课程设计,加深了我对《数据结构》这门课程所学内容的进一步的理解与掌握;同时,通过对停车场管理系统的开发,使得我将计算机课程所学知识与实际问题很好地相联接在了一起在这次课程设计中,不仅培养了我开发一个中小型程序的能力,而且也培养了我的自主独立完成任务的能力在这次对停车场管理系统的开发过程中,有程序功能成功实现时的欣喜,也有遇到问题、解决问题时的执着以及迷茫在这次课程设计中,使得我很好地了解了在开发程序过程中合作的重要性在这周课程设计中,我所开发的停车场管理系统,基本上可以完成每一项功能汽车进入停车场的信息、离开停车场的信息以及通道上的信息都可以在程序上一一实现但是,该程序也有不足的地方主要表现在车辆的车牌号上,现实中的车牌号是一串字符,可是,在这个程序中,为了简便起见,我们就车牌号定义为了整型,这个与现实是有些不符的还有一个可以改进的地方就是记录车辆进入停车场以及离开停车场的时间,应该精确到小时以及分钟的,可是在程序中,为了简便起见,我们只是设置成了一个时刻,所以,在这方面还是有待改进的改进的程序中,还应该增加时间的判断功能,即停车场内有可能有车辆停放的时间超过一天还有一个很重要的问题,对于停车场内可以停放的最多车辆数,为了测试数据的方便,我在程序中,定为了2,在实际使用中,可以改变程度开头的宏定义以增加停车场的容量总之,在这短时间的课程设计中,我的收获还是挺大的,不仅对于专业课有了更好的认识,而在查找资料获得资源的能力也有所提高4用户使用说明
4.1说明书这个程序用来实现对停车场内车辆的管理,整个操作界面为中文,更加符合人性化的标准,使得用户使用方便,而且每一个操作都有提示,使得初次接触该程序的用户也能很快适应程序的操作这个程序操作简单,对于车牌号,只需输入车牌号上的数字就行,而且对于进出停车场的时间,也简化了操作,只需输入当时的时刻就行,没有具体到小时和分钟,但也许这也是该程序不足之处所在而且该程序也给用户提供了选择的机会,当点击运行该程序后,如果想退出程序,可以输入E00退出该运行程序具体功能选项如图5测试数据与测试结果
5.1测试数据与测试结果我们设n=2,输入数据为(‘A’,1,5),(‘A’,2,10),(‘D’,1,5),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)进行数据测试结果如下输入E00后退出参考文献
[1]刘国钧,王连成.图书馆史研究[M].北京高等教育出版社,197915-18,31.
[2]MaoXiaetal.AffectivePropertyofImageandFractalDimension[J].ChaosSolitonsFractals.U.K.,2003:V15905-910.
[3]毛峡,丁玉宽.图像的情感特征分析及其和谐感评价[J].电子学报,2001,2912A1923-1927.
[4]毛峡.绘画的音乐表现[A].中国人工智能学会2001年全国学术年会论文集[C].北京北京邮电大学出版社,2001739-740.
[5]GB/T16159—1996,汉语拼音正词法基本规则[S].北京中国标准出版社,1996.……
[6]……附录源程序清单//Paking.cpp:Definestheentrypointfortheconsoleapplication.//#includestdafx.h#includestdlib.h#includestdio.h#includeiostreamusingnamespacestd;#defineN2#defineNULL0#definePRICE1typedefstructcar_infor{intlicen_tag;inttime;}SElemType;typedefstruct{SElemType*base1;SElemType*top1;SElemType*base2;SElemType*top2;}Stack;typedefstructQnode{intlicen_tag;inttime;structQnode*next;}Qnode*QueuePtr;typedefstruct{QueuePtrfront;QueuePtrrear;}LinkQueue;voidinitStackStackS{S.base1=SElemType*mallocN*sizeofSElemType;S.top1=S.base1;S.base2=SElemType*mallocN*sizeofSElemType;S.top2=S.base2;}voidinitQueueLinkQueueQ{Q.front=Q.rear=QueuePtrmallocsizeofQnode;Q.front-next=NULL;}voidPush1StackSintlicen_taginttime{S.top1-licen_tag=licen_tag;S.top1-time=time;S.top1++;}voidPush2StackS{S.top1--;S.top2-licen_tag=S.top1-licen_tag;S.top2-time=S.top1-time;S.top2++;}voidPopStackS{S.top2--;S.top1-licen_tag=S.top2-licen_tag;S.top1-time=S.top2-time;S.top1++;}voidEnQueueLinkQueueQintlicen_taginttime{QueuePtrp;p=QueuePtrmallocsizeofQnode;p-next=NULL;p-licen_tag=licen_tag;p-time=time;Q.rear-next=p;Q.rear=p;}voidDeQueueLinkQueueQStackS{QueuePtrp;p=Q.front-next;Q.front-next=p-next;ifQ.rear==pQ.rear=Q.front;S.top1-licen_tag=p-licen_tag;S.top1-time=p-time;S.top1++;freep;}intjudge1LinkQueueQStackSintlicen_tagSElemType*p{QueuePtrq=Q.front-next;p=S.base1;inti=0;whilep-licen_tag!=licen_tagp!=S.top1p++;ifp==S.top1{whileq{ifq-licen_tag==licen_tag{i=1;coutlicen_tag号车子在便道endl;q=NULL;}elseq=q-next;}}else{i=1;coutlicen_tag号车子在停车场内!endl;}returni;}voidmain{intj=1;StackS;LinkQueueQ;initStackS;initQueueQ;charA_D;intlicen_tagtime;intlasttime=0;inti=1;while1{printf输入第%d条信息为:i;i++;scanf%c%d%dA_Dlicen_tagtime;getchar;SElemType*p=NULL;intk=judge1QSlicen_tagp;ifk==0A_D==D{coutlicen_tag号车不在便道上或停车场中!endl;cout请重新输入:endl;continue;}ifk==1A_D==A{coutlicen_tag号车已经在便道上或停车场中!endl;cout请重新输入:endl;continue;}ifk==1A_D==D{p=NULL;p=S.base1;whilep-licen_tag!=licen_tagp!=S.top1p++;ifp==S.top1{coutlicen_tag在便道上要从便道上离开是不被允许的!endl;cout非法操作!endl;continue;}}ifA_D==A{ifj-1N{coutlicen_tag号车子进入停车场!停车号码为:jendl;Push1Slicen_tagtime;}else{coutlicen_tag号车子停在便道上!停车号码为j-Nendl;EnQueueQlicen_tagtime;}j++;}ifA_D==D{j--;p=NULL;k=judge1QSlicen_tagp;ifk{coutlicen_tag号车子出停车场!endl;ifp==S.top1-1{S.top1--;cout车子的信息endl;cout车子的车牌号S.top1-licen_tagendl;cout进停车场的时间S.top1-timeendl;cout出停车场的时间:timeendl;cout所有花费:time-S.top1-time*10endl;}else{while1{Push2S;ifS.top1==p+1break;}S.top1--;cout车子的信息endl;cout车子的车牌号S.top1-licen_tagendl;cout进停车场的时间S.top1-timeendl;cout出停车场的时间:timeendl;cout所有花费:time-S.top1-time*10endl;cout临时通道上的车进入停车站endl;PopS;}}ifQ.front!=Q.rear{coutQ.front-next-licen_tag车进入停车场!endl;DeQueueQS;}}ifA_D==Ebreak;}}小四号TimesNewRoman首行缩进,
1.5倍行距三号TimesNewRoman居中加黑,一律用大写字母,上下各空一行小三号TimesNewRoman居中加黑空一行小四号TimesNewRoman,各关键词之间分号分开,分号后加一空格四号TimesNewRoman加黑keywords之间加一空格否S.top1--;车子出停车场的第一种情况Push2S;PopS;第二种情况停车场的车子出便道上的第一辆车进停车场S.top1--;执行push1存储数据元素到代表停车场的栈输出licen_tag号车子进入停车场停车号为jj++输出licen_tag号车子进入便道停车号为j-N执行EnQuene存储数据元素到代表便道的栈否j–1n是A_D==E退出A_D==Ap==s.top!输出licen_tag已经在便道上或停车场中p=NULL;p=s.basel是A_D==DA_D==DA_D==A输出licen_tag不在便道上或停车场中初始数据;n=1读取用户输入的信息分配存储空间执行judge1n=1否p++输出在便道上要从便道上离开是不被允许的p-licen_tag!=licen_tagp!=S.top1A_D==Dj--;p=NULL;执行judge1p=S.top1-1按论文中参考文献出现的次序,用中括号的数字连续编号,小四号宋体小三号黑体居中,上下各空一行专著主要责任者.文献题名[M].出版地出版者,出版年起止页码.期刊主要责任者.文献题名[J].刊名,出版年份,卷号期号起止页码.三号黑体居中,上下各空一行。