C语言版数据结构课程设计报告书.doc
《C语言版数据结构课程设计报告书.doc》由会员分享,可在线阅读,更多相关《C语言版数据结构课程设计报告书.doc(18页珍藏版)》请在咨信网上搜索。
1、 . . . 数据结构课程设计资 料 袋计算机与通信 学院(系、部)20092010学年第二学期 课程名称数据结构指导教师职称 博士学生专业班级通信工程学号题 目编制车厢调度的程序成 绩起止日期2010年6月28日2010年7月10日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计图纸1456课程设计任务书2009 2010 学年第 二 学期计算机与通信学院(系、部)通信工程专业092班级课程名称:数据结构 设计题目:编制一个车厢调度的程序完成期限:自2010年6月28日至2010年7 月10 日共 一周容与任务一、设计的主要技术参数使用栈机制模拟迷
2、宫的寻路过程, 图的DFS 自动生成随机迷宫地图。二、设计任务使用C语言实现各个模块的功能。三、设计工作量王灿阳负责对栈的基本操作,我实现车厢的调度的进和出,以与状态的变化。进度安排起止日期工作容2010-6-28设计本程序思路2010-6-30实现子程序模块函数2010-7-6将子程序和主程序构建成完整的C源程序,并且进行相关编译调试2010-7-7数据测试、形成文档指导教师(签字):年 月 日系(教研室)主任(签字):年 月 日XVIII / 18数据结构设计说明书数据结构课程设计编制一个车厢调度的程序起止日期: 2010年6月28日 至 2010年7月10日学生班级通信092班学号成绩指
3、导教师(签字)计算机与通信学院(部)年 月 日工业大学课程设计情况分析表课程设计名称数据结构设计周数17周学院(部)计算机与通信学院系(教研室)通信工程系指导教师文志诚学生专业、班级通信工程0901选题车厢调度成绩分布优良中与格不与格学生数百分比学生课程设计存在的主要问题改进措施与建议指导教师(签字):年 月 日系(教研室)主任(签字):年 月 日备注:本表在课程设计完成后由指导教师填写,与课程设计资料一起存档。目录1. 题目 VI2.概要设计 VII3. 功能函数设计 XI4. 调试分析XIX5. 用户手册 XXI6. 测试结果XIV7. 附录 完整的程序清单 XV一、题目:编制一个车厢调度
4、的程序.扩展:增加清屏函数;;增选择的功能;可显示所有的运行结果.需求分析( 1 )在教材书3.1.2节中提供的栈的顺序存储结构SqStack之上实现栈的基本操作,即实现栈类型。( 2 )程序对任何栈的任何存取(即更改、读取和状态判别等操作)必须借助于基本操作执行。( 3 ) 用户可以自己输入调度的大小 , 然后由程序自动生成结果.二、概要设计1. 设定栈的抽象数据类型定义 :ADT Stack 数据对象 : D=ai|aiADT MazeType , i = 0,1,2n , n0数据关系 : R1= | ai-1,ai D,i=2,n 基本操作 :InitStack(SqStack &s)
5、操作结果 : 构造一个空栈GetTop(SqStack s,SElemType &e)初始条件 : 栈 s 以存在操作结果 : 获取栈顶元素Push(SqStack &s,SElemType &e)初始条件 : 栈 s 以存在操作结果 : 在栈顶插入新元素Pop(SqStack &s,SElemType &e)初始条件 : 栈 s 以存在操作结果 : 删除栈顶元素,并删除e值StackEmpty(SqStack s)初始条件 : 栈 s 以存在操作结果 : 判断栈是否为空ClearStack(SqStack &s)初始条件 : 栈 s 以存在操作结果 : 将栈置为空栈 ADT SqStack;
6、2. 设定车厢调度的抽象数据类型ADT MazeType数据对象 : D=ai,j|ai,j,#、*,0=i=m+1, 0=j=n+1,m,n=10数据关系 : R=M,NM=|ai-1,j,ai,jD,i=1,m+1,j=0,n+1N=|ai-1,j,ai,jD,i=1,m+1,j=0,n+1基本操作 :void process(int pos,int path,int curp)/当前处理位置pos的元素 定一两个变量 if(posn)/编号进栈递归 push(pos+1);/当前元素进栈后下一个元素继续进栈 process(pos+1,path,curp); /处理下一个元素,返回表明下
7、一个元素进栈的情况处理完了 pop(); /下一个元素处理完后,pop 掉,准备处理直接出栈 if(!Emptys()/递归处理出栈 m=pop(); pathcurp=m; /数组存放出栈元素 curp+; process(pos,path,curp);/出栈后处理下一个素继续进栈 push(m); if(pos=n&Emptys()/输出一种可能的方案 for(i=0;icurp;i+) printf(%2d,pathi); printf(n); 3.本程序包含6个模块1) 主程序模块:int main()主菜单函数, 实现时间循环.return 0;/主函数2) 栈模块-实现栈抽象数据类
8、型3) 递归模块-实现调度迷宫抽象数据类型4) 选择生成模块-用户自定义菜单的生成5) 调度模块-实现车站的模拟各模块之间的调用如下:主程序模块选择模块栈模块递归模块调度模块4.求解调度通路的伪码算法:设定当前位置的初值为入口位置;Do若当前位置可通,按任意键进行,同时选择你需要的功能if(m=1)输入你的你的车厢长度if(m=2)调用递归函数,输出所有可能的序列if(m=3)欢迎你使用,系统while ( 栈不空 ); 栈空说明没有路径存在 三、功能函数设计本系统主要是考虑对栈的使用,循环队列和双向链表的运用。-头文件设计(部分)-本部分是讲述栈的相关操作:#includestdlib.h#
9、includestdafx.h#include #includestdio.h#include #define MaxLen 100 struct Stack_node int dataMaxLen; int top; s; /定义一个栈指针 int n;/定义输入序列总个数 /-栈的基本操作-void Initstack() s.top=-1; void push(int q)/元素n进栈 s.top+; s.datas.top=q; int pop()/出栈 int temp; temp=s.datas.top; s.top-; return temp; int Emptys()/判断栈空
10、 if(s.top=-1) return 1; else return 0; -实现文件(部分)-本部分是主控函数,函数的调用以与菜单的选择:main.cpp 主函数void main() int pathMaxLen; int m; char ch; printf( nnn - n); printf( | n); printf( |数据结构课程设计|n); printf( | |n); printf( | 铁路调度站模拟 |n); printf( | |n); printf( | 09级通信工程|n); printf( | n); printf( -n); printf( 按任意键继续 n)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言版 数据结构 课程设计 报告书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。