下载此文档

数据结构 马踏棋盘.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
“后进先出”和队列的特性“先进先出”。仅仅认识到栈和队列是两种特殊的线性表是远远不够的,本次实验的目的在于更深入的了解栈和队列的特性,以便在实际问题背景下灵活运用他们。在了解他特性的基础上,还将巩固对这种结构的构造方法的理解。:在国际象棋8×8棋盘上面,按照国际象棋规则中马的行进规则,实现从任意初始位置,每个方格只进入一次,走遍棋盘上全部64个方格。编制程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,并输出它的行走路线(棋盘如图所示)。输入:任意一个起始位置;输出:无重复踏遍棋盘的结果,以数字1-64表示行走路线。 012345670  8 1   1 7   2  2   H    3 6   3  4  5 4   5        6        7        二概要设计为了实现上述程序功能,可以采用顺序栈或者链栈来存储它的数据,本实验所需要的存储空间不是很大,不需动态的开辟很多空间,所以采用相对简单的顺序栈来存储数据,既方便有简单,而用链栈在实现上相对比顺序栈复杂的一点。:ADTStack{数据对象:D={ai|ai∈(0,1,…,9),i=0,1,2,…,n,n≥0}数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=1,2,…,n}}:1、主程序模块:voidmain(){定义变量;接受命令;处理命令;退出;}2、起始坐标函数模块——马儿在棋盘上的起始位置;3、探寻路径函数模块——马儿每个方向进行尝试,直到试完整个棋盘;4、输出路径函数模块——输出马儿行走的路径;:#include<>#defineMAXSIZE100#[8][8];//定义棋盘intHtry1[8]={1,-1,-2,2,2,1,-1,-2};/*存储马各个出口位置相对当前位置行下标的增量数组*/intHtry2[8]={2,-2,1,1,-1,-2,2,-1};/*存储马各个出口位置相对当前位置列下标的增量数组*/structStack{//定义栈类型 inti;//行坐标 intj;//列坐标intdirector;//存储方向}stack[MAXSIZE];//定义一个栈数组inttop=-1;//(intxi,intyi);//马儿在棋盘上的起始位置坐标intTryPath(inti,intj);//马儿每个方向进行尝试,直到试完整个棋盘voidDisplay();//(intxi,intyi){ intx,y;//定义棋盘的横纵坐标变量 top++;//栈指针指向第一个栈首 stack[top].i=xi;//将起始位置的横坐标进栈 stack[top].j=yi;//将起始位置的纵坐标进栈 stack[top].director=-1;/

数据结构 马踏棋盘 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小135 KB
  • 时间2019-06-19