欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
换一换
首页 沃文网 > 资源分类 > DOC文档下载
 

数据结构课程设计论文

  • 资源ID:20043       资源大小:131.50KB        全文页数:27页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

数据结构课程设计论文

109数据结构课程设计论文课题一、迷宫求解二、扑克牌游戏三、joseph环四、商品货架管理五、航空客运订票系统2目录课程设计封1目录2迷宫求解39(一)需求分析3(二)源程序45(三)测试后的结果67(四)结果分析8扑克牌游戏910(一)需求分析9(二)源程序9(三)测试后的结果9(四)结果分析10joseph环1016(一)需求分析11(二)源程序1214(三)测试后的结果1516(四)结果分析16商品货架管理1617(一)需求分析16(二)源程序163(三)测试后的结果16(四)结果分析17航空客运订票系统1824(一)需求分析18(二)源程序1920(三)测试后的结果2022(四)结果分析24课程设计心得体会2425课题设计1迷宫求解一.需求分析本程序是利用非递归的方法求出一条走出迷宫的路径,并将路径输出.首先由用户输入一组二维数组来组成迷宫,确认后程序自动运行,当迷宫有完整路径可以通过时,以0和1所组成的迷宫形式输出,标记所走过的路径结束程序;当迷宫无路径时,提示输入错误结束程序.二、概要设计1.抽象数据类型定义ADTFind{数据对象D{aiai∈ElemSet,i1,2,,n,n≥0}数据关系R1{ai-1,ai∈D}基本操作findS初始条件已初始化栈S,且栈为空操作结果从栈S中找出相对应的数据关系,并输出结果}ADTFind2.主程序的流程以及各程序模块之间的调用关系1.定义变量i、j、w、z为整形变量2.输入迷宫二维数组maze0m,0n3.调用子程序find4.结束程序三、相应的源程序如下includeinclude4typedefenum{ERROR,OK}Status;typedefstruct{introw,line;}PosType;typedefstruct{intdi,ord;PosTypeseat;}SElemType;typedefstruct{SElemType*base;SElemType*top;intstacksize;}SqStack;StatusInitStackSqStackStatusPushSqStackStatusPopSqStackStatusStackEmptySqStackS;StatusMazePathintmaze[12][12],SqStackvoidInitmazeintmaze[12][12],intsize;voidprintmazeintmaze[12][12],intsize;StatusPassintmaze[12][12],PosTypeCurPos;voidMarkfootintmaze[12][12],PosTypeCurPos;PosTypeNextPosPosTypeCurPos,intDir;voidprintpathintmaze[12][12],SqStackS,intsize;voidmainvoid{SqStackS;intsize,maze[12][12];forintn0;n10{printf输入错误;return;}Initmazemaze,size;printmazemaze,size;PosTypestart,end;printf输入入口行坐标和列坐标;scanfd,printf输入出口行坐标和列坐标;scanfd,ifMazePathmaze,S,start,endprintpathmaze,S,size;elseprintf找不到通路\n\n;}5}StatusMazePathintmaze[12][12],SqStackS,PosTypestart,PosTypeend{PosTypecurpos;intcurstep;SElemTypee;InitStackS;curposstart;curstep1;do{ifPassmaze,curpos{Markfootmaze,curpos;e.di1;e.ordcurstep;e.seatcurpos;PushS,e;ifcurpos.rowend.rowcurpos.lineend.linereturnOK;curposNextPoscurpos,1;curstep;}else{ifStackEmptyS{PopS,e;whilee.di4StackEmptyS{Markfootmaze,e.seat;PopS,e;}ife.diseat.row][p-seat.line]2;p;}forinti0;ivoidmain{inti,j,a[52];fori2;iincludetypedefstructNode{intkey;//每个人持有的密码intnum;//这个人的编号structNode*next;//指向下一个节点}Node,*Link;voidInitListLinkL//创建一个空的链表{LNode*mallocsizeofNode;ifLexit1;L-key0;L-num0;L-nextL;}voidCreaterintn,LinkL//初始化链表{Linkp,q;qL;forinti1;ikey;p-numi;L-nextp;Lp;}L-nextq-next;freeq;}voidmain{LinkL,p,q;intn,x;LNULL;InitListL;//构造出一个只有头结点的空链表12printfpleasethetotlenumberofpeople;scanfd,//总共的人数nprintfthestartkeyis;scanfd,//初始密码为xCreatern,L;//建立好一个约瑟夫环pL;forinti1;inext;qp-next;xq-key;printfd,q-num;p-nextq-next;freeq;}}四、测试数据m的初值为20,n7,7个人的密码依次为3,1,7,2,4,7,4输出6741532课题设计4商品货架管理1、需求分析设计一个算法,每一次上货后始终保持生产日期越近的商品越靠近栈底.求货架上剩余货物M、每天销售件数N、员工每天上货工作时间T,三者之间有何关系及T的最小值.132、源程序includeincludestring.hincludestdio.hconstintmaxsize100;constintk10;defineelemtypechartypedefstruct{intMonth;intDay;intYear;}DATE;typedefstruct{intnum;DATEdate;}Node;classseqstack{publicNodestack[maxsize];inttop;voidinistack{top0;}voidpushintx,intday,intmonth,intyear{iftopmaxsizecoutxyyearmmonthdcountTxs[i]Txq[i];Nx[i]maxsize-count;coutyn;ifynY||yny{intnumbers,nian,yue,ri;coutnumbersnianyueri;ifnumbersmaxsize-count{coutnumbersnianyueri;}forintj1;jincludedefinemaxspace100definekeylen7defineradix_n10defineradix_c26typedefcharkeytype;typedefstruct{charstart[6];charend[6];charsche[10];chartime1[5];chartime2[5];17charmodel[4];intprice;}infotype;typedefstruct{keytypekeys[keylen];infotypeothers;intnext;}slnode;typedefstruct{slnodesl[maxspace];intkeynum;intlength;}sllist;typedefintarrtype_n[radix_n];typedefintarrtype_c[radix_c];voiddistributeslnode*sl,inti,arrtype_nf,arrtype_ne{intj,p;forj0;j2;i--{distributel.sl,i,fn,en;collectl.sl,i,fn,en;}fori1;i0;i--{distribute_cl.sl,i,fc,ec;collect_cl.sl,i,fc,ec;}}voidarrangesllistl//重新整理{intp,q,i;slnodetemp;pl.sl[0].next;fori1;i1i5{printf\n********************\n;printf*航班信息查询系统*\n;printf********************\n;printf*1.航班号*\n;printf*2.起点站*\n;printf*3.终点站*\n;printf*4.起飞时间*\n;printf*5.到达时间*\n;23printf*0.退出系统*\n;printf********************\n;printf请选择0-5;scanfd,printf\n;switchi{case1printf输入要查询的航班号字母要大写;scanfs,key;kbinsearchl,key;printf*************************************************************\n;ifk0printf*无此航班信息,可能是输入错误*\n;else{printf*航班号起点站终点站航班期起飞时间到达时间机型票价*\n;printf*-8s-7s-6s-11s-9s-7s-5s4d*\n,l.sl[k].keys,l.sl[k].others.start,l.sl[k].others.end,l.sl[k].others.sche,l.sl[k].others.time1,l.sl[k].others.time2,l.sl[k].others.model,l.sl[k].others.price;}printf*************************************************************\n;break;case2printf输入要查询的航班起点站名;scanfs,key;seqsearchl,key,i;break;case3printf输入要查询的航班终点站名;scanfs,key;seqsearchl,key,i;break;case4printf输入要查询的航班起飞时间;scanfs,key;seqsearchl,key,i;break;case5printf输入要查询的航班到达时间;scanfs,key;24seqsearchl,key,i;break;case0printf\n\n\n再见\n\n\n;}}}voiddatasllistl{intil.length;charyny;whileyny||ynY{printf航班号起点站终点站航班期起飞时间到达时间机型票价\n;scanfsssssssd,l.sl[i].keys,l.sl[i].others.start,l.sl[i].others.end,l.sl[i].others.sche,l.sl[i].others.time1,l.sl[i].others.time2,l.sl[i].others.model,i;getchar;radixsortl;arrangel;printf继续输入吗y/n;scanfc,}l.lengthi-1;}voidmain{sllistl;l.keynum6;25l.length0;datal;searchconl;}3、测试结果航班信息航班号起点站终点站航班期起飞时间到达时间机型票价输入CA1544合肥北京1.2.4.510551240733960提示继续输入吗y/ny显示航班号起点站终点站航班期起飞时间到达时间机型票价MU5341上海广州每日14201615M901280提示继续输入吗y/ny提示继续输入吗y/nn最后,课程设计心得体会通过这次课程设计,我感觉到要真正做出一个程序并不很容易,但只要用心去做,总会有收获,特别是当我遇到一个问题,想办法去解决时,最后终于找到方法26时,心里的那份喜悦之情真是难以形容.编写的过程中不可避免的遇到问题,这些问题有的只是一个符号错了,一个括号少了,应耐心探究其中的原因,从出现问题的地方起,并联系前后程序,仔细推敲,逐个排查.直到最终搞清为止.当然,在学习中不要害怕提问,但是这个问题最好是你找不到答案的时候再去提.要经过自己的思考后在去提问,那样才会有效果.通过一些课程设计,也让自己对于数据结构有了更深层次的理解,虽然有很多的东西并不是自己编,而是在网上找的,但是在调试的那个过程中也是收获很多.本次课程设计,使我对数据结构这门课程有了更深入的理解.数据结构是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践.指针其实是C语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了.所以我们的任务就是,让数据结构在指针中运行.当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化.所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来C的数据机构,数据表示的理解.数据结构就是编程的思维,编程的灵魂,算法的精髓所在,没有了数据结构,程序就好像一个空核,是低效率的.学习数据结构的目的就是提高自己的思想,数据结构的高低是确定于你写的程序的运行效率,想不想到奇异的方法解决问题,程序的壮健性,并不是你记得多少算法.就好像我现在排序算法已经忘记了很多,平衡二叉树的建立跟删除,图论完全忘记.难道这样我就是初学者肯定不是,自要有思想在,有些算法用到的时候看看书就可以了.在课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力.培养了基本的、良好的程序设计技能以及合作能力.这次课程设计同样提高了我的综合运用所学知识的能力.课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在.通过这段时间的课程设计,我认识到数据结构是一门比较难的课程.需要多花时间上机练习.这次的程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力.刚开始做这个程序的时候,感到完全无从下手,觉得让我完成这次程序设计根本就是不可能的,于是开始查阅一些资料,如苏仕华的数据结构课程设计之后便开始着手对于一些程序调试以及去看明白.整个程序和以往所编的程序最大的区别就是要求从文件读入信息,文件是C语言中极其重要的部分,通过课程设计,加深了对文件知识的掌握.我的程序原先是只能从固定的一个文件读入图的信息,经过修改,它可以通过输入文件名来选择要读入的文件,使程序更加灵活,功能更加完善.通过课程设计还提高了一点改错能力,对于一些常见问题加深了印象.如果我们把编程当作一种乐趣的话,用兴趣去引领学习的话,你会发现学习编码的速度会更快,因为在这个过程中你会有强烈的欲望去看懂它,你会把编码分到最细,27这样的成功,对于我们今后的编程学习将会有很大的信心.忽略此处..

注意事项

本文(数据结构课程设计论文)为本站会员(星星008)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号  

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922