1 / 16
文档名称:

课设车厢调度.doc

格式:doc   大小:174KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

课设车厢调度.doc

上传人:雾里看花 2019/4/8 文件大小:174 KB

下载得到文件列表

课设车厢调度.doc

相关文档

文档介绍

文档介绍:车厢调度正文1一、、、主函数实现8四、、(论文>任务书软件学院软件工程专业 2018-7 班一、课程设计(论文>题目数据结构课程设计二、课程设计(论文>工作自2018年12月22日起至2018年12月28日止。三、课程设计(论文>地点:软件测试实验中心四、课程设计(论文>内容要求:<1)使学生熟练掌握抽象数据类型的组织和定义;<2)使学生熟练掌握数据类型的定义和实现;<3)培养学生组织和分析数据的能力;<4)培养学生分析和应用基于不同数据结构的算法的能力;<5)提高学生的科技论文写作能力。:每位同学在以下题目中任选一题<在方框中打勾),独立完成课程设计:□击鼓传花:编号为1,2,……,n的n个人按顺时针方向围坐一圈。一开始第一个人持有“花”,然后按顺时针方向自1开始顺序传递“花”,经过m个人<m是随机数)后停止。访问停止时,持有“花”的人必须输出一条信息:“I’m名字,Igottheflower”。随b5E2RGbCAP后从此人开始继续按顺时针方向传递“花”……直到游戏结束。□全国交通咨询模拟:参见《数据结构题集》P153。□车厢调度:参见《数据结构题集》P98。<1)要按照书稿的规格打印誊写课设报告;<2)报告分为封面、任务书<本文档)、正文、课程设计体会和参考文献四部分;学生签名:2018年12月22日课程设计(论文>评审意见<1)题目分析 <20分):优< )、良< )、中< )、一般< )、差< );<2)流程分析<30分):优< )、良< )、中< )、一般< )、差< );<3)数据定义<30分):优< )、良< )、中< )、一般< )、差< );<4)代码编写<10分):优< )、良< )、中< )、一般< )、差< );<5)创新能力<10分):优< )、良< )、中< )、一般< )、差< );<6)格式规范性、设计态度及考勤是否降等级:是< )、否< )评阅人:职称:讲师2018年12月31日正文数据结构定义抽象数据类型本设计中用到的数据结构ADT定义如下:ADTStack{数据对象:D={∈ElemSet,i=1,2,...,n,,n≥0}数据关系:R1={<∈D,i=2,...,n}基本操作:InitStack(&S>操作结果:构造一个空栈S。StackEmpty(S>初始条件:栈S已存在。操作结果:若栈S是空栈,则返回TRUSE,否则FALSE。Push:<&S,e)初始条件:栈S已存在。操作结果:插入元素e为新的栈顶元素。Pop(&S,e>初始条件:栈S已存在且非空。操作结果:删除S的栈顶元素,并用e返回其值。存储结构定义数据存储结构的C语言定义如下:structSNode{intdata[45]。inttop。}S。//栈的顺序存储结构structpathss{intpaths[45][45]。intnumber。}AllPath。//定义一个二维数组来保存所有的输出序列基本操作数据结构的基本操作实现如下:voidInitStack(>//栈的初始化{ =-1。}voidPush(intq>//入栈{ [++]=q。}intPop(>//出栈{ inttemp。 temp=[--]。 returntemp。}intStackEmpty(>//判断栈是否为空{ if(==-1> return1。 else return0。}voidAttemper(intpos,intpath[],intcur>//调度过程{ intm,i。 if(pos<n> { Push(pos+1>。//一个数入栈后,要么立刻出栈,要么进行下一个数的进栈 Attemper(pos+1,path,cur>。 Pop(>。 } if(!StackEmpty(>> { m=Pop(>。//一个数出栈后,要么继续出栈(栈不空>,要么继续下一个数的进栈 path[cur++]=m。 Attemper(pos,path,cur>。 Push(m>。 } if(pos==n&&StackEmpty(>>//一种可能输出序列产生 { cout<<"\t\t\t"。 cout<<+1<<":"。 for(i=0。i<cur。i++> { cout<<path[i]<<""。 [][i]=pa