马踏棋盘-数据结构与算法课程设计.doc

马踏棋盘-数据结构与算法课程设计.doc

ID:56999853

大小:220.50 KB

页数:14页

时间:2020-07-30

马踏棋盘-数据结构与算法课程设计.doc_第1页
马踏棋盘-数据结构与算法课程设计.doc_第2页
马踏棋盘-数据结构与算法课程设计.doc_第3页
马踏棋盘-数据结构与算法课程设计.doc_第4页
马踏棋盘-数据结构与算法课程设计.doc_第5页
资源描述:

《马踏棋盘-数据结构与算法课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据结构与算法设计》课程设计任务书题目马踏棋盘问题研究学生姓名学号专业班级数学0901设计内容与要求【问题描述】将马随机地放在国际象棋的8*8棋盘某个方格中,然后令马按走棋规则开始进行移动。马将棋盘上的每个方格进入且只进入一次,走遍全部64个方格。【软件功能】1.用户可以输入一个起始位置。2.有一个正确的起始位置后,用户可以得到一个棋盘,棋盘上的每个位置都将标有1-64中的某一个数字。3.再输入一个起始位置后,将会得到一个新的棋盘。4.利用GUI实现简单的图形用户界面【算法思想】1.由键盘输入起始的x坐标和y坐标2.判断坐标位置是否合法,如果不合法

2、,则提示用户重新输入,如果合法,则将坐标保存在马类中,并且将步数记录为第1步,将棋盘类入栈保存。接着调用探寻下一步路径的函数。3.马将向可以走的方向进行尝试,如果尝试的这个位置可以行走,即马还没有走过,则记录下此位置以及是第几步所走的位置,并入栈保存。4.再次调用探寻路径的函数,并且做步骤3中的做法。5.直到马将棋盘上的64个方格都走完,则停止调用探寻路径的函数。此时,开始输出马所走的位置。即开始出栈。6.栈遵循后进先出的原则,故出栈时,首先输出的是马走的最后一个位置,此时,在棋盘上对应的位置输入所记录的步数。依次循环出栈,当栈为空时,即输出完毕,得

3、到一章带有马所走过的位置的棋盘。程序结束。【提交成果】1.“《数据结构与算法设计》课程设计任务书”一份,打印装袋;2.“《数据结构与算法设计》课程设计报告”一份,打印装袋;3、上面两项内容的word文档,通过电子邮件交到指导教师。起止时间2012年6月18日至2012年7月1日指导教师签名2012年6月18日系(教研室)主任签名2012年6月18日学生签名年月日注明:内容限1页数据结构与算法设计课程设计专业数学与应用数学班级数学0901学号姓名完成日期指导教师1、程序设计说明书【设计题目】马踏棋盘问题研究【问题描述】将马随机地放在国际象棋的8*8棋盘

4、某个方格中,然后令马按走棋规则开始进行移动。马将棋盘上的每个方格进入且只进入一次,走遍全部64个方格。【软件功能】1.用户可以输入一个起始位置。2.有一个正确的起始位置后,用户可以得到一个棋盘,棋盘上的每个位置都将标有1-64中的某一个数字。3.再输入一个起始位置后,将会得到一个新的棋盘。4.利用GUI实现简单的图形用户界面【算法思想】1.由键盘输入起始的x坐标和y坐标2.判断坐标位置是否合法,如果不合法,则提示用户重新输入,如果合法,则将坐标保存在马类中,并且将步数记录为第1步,将棋盘类入栈保存。接着调用探寻下一步路径的函数。3.马将向可以走的方向

5、进行尝试,如果尝试的这个位置可以行走,即马还没有走过,则记录下此位置以及是第几步所走的位置,并入栈保存。4.再次调用探寻路径的函数,并且做步骤3中的做法。5.直到马将棋盘上的64个方格都走完,则停止调用探寻路径的函数。此时,开始输出马所走的位置。即开始出栈。6.栈遵循后进先出的原则,故出栈时,首先输出的是马走的最后一个位置,此时,在棋盘上对应的位置输入所记录的步数。依次循环出栈,当栈为空时,即输出完毕,得到一章带有马所走过的位置的棋盘。程序结束。【逻辑结构设计】由用户输入起始位置,如果,输入合法,即输入的起始位置在棋盘中,则此位置即为马开始行走的起点

6、,以此点为起点,以象棋中马的走法开始在棋盘中,找寻可以行走的位置,每个位置只能走一次,直到马将棋盘中的64个位置全都走过之后,在棋盘上显示出马行走的轨迹;当用户在此输入一个合法的起始位置时,则可以得到一个新的棋盘。【存储结构设计】马的抽象数据类型:publicclassHorse{publicintstep;//马行走的步数publicintx=0;//马在棋盘上的横坐标publicinty=0;//马仔棋盘上的纵坐标publicHorse(){}//无参构造publicintgetStep();//获取步数publicvoidsetStep(int

7、step);//设置步数publicintgetX();//获取x坐标publicvoidsetX(intx);//设置x坐标publicintgetY();//获取y坐标publicvoidsetY(inty);//设置y坐标}栈的抽象数据类型:publicclassStack{inttop;//栈顶指针Horseelements[];//栈元素数组intStackSize;//栈最大容量publicStack();/构造函数1publicStack(intStackSize);//构造函数2publicbooleanIsEmpty();//栈空否

8、publicbooleanIsFull();//栈满否publicvoidPush(Horseitem);/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。