- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
迷宫程序设计
(1)析以维二组数MZEAM[+2[]+N]表2迷示,宫中其MAZE[:0]J][M和ZAEM[+1][J(0≤]JN≤+)及1MZA[IE[]]0MA和EZI][[+1]N0≤(I≤+1M)为加的一添圈碍。障组中以数素值为0表元通示,1路示障碍表。限迷宫定的小大,N≤M01。
(2)用 户文以件的式形入输迷宫数的据文:件第中行一数的为迷宫据行数的M列数和;N第从行至2M+1第(每行行N个数)为迷值宫,一行中的两个数同之间用空白字符相字。隔
3)迷宫的(口位置入和口出置位可用户随由时定。设
(4) 若设定的迷存宫通在路则以长方,形阵将迷宫及式通路其输出到标输出准文件即(
终)上端其中,字,符#”表“示障碍字符,*”“示表径路的上置位,符字“”表@“死示胡同”即曾经经,过但不能达出到口的置,其位用空余格符示。若表定的迷设不宫在通路存,报则相应信告。息
( )5本程只求出一条成序功的路。然通而,只要对迷需求宫解的数函作小量修,改便可求全部得路。径
6)(试数测见据题,原入口当位置为1(,)1,出位口为置9(,)8,输时出数据为应
: ** #@ @@ #
*# @ @ @
# * * @ @# #
# # #*# # @
** * # * ** @#
* * * # *#
## # # * ##
7)程序执(行命令的为
1)创建迷宫:; 2求)迷宫;解 3 输出迷宫)解的。
二.要概设计1.
定设的栈象数抽据类定型义:为
AD sTatc{k
据数对象:D{ai=a|i∈chasreti,=,1,……,n2n,0≥}
数据关系:R1={1a|i-1a,i∈D,i2…=,n}…
niItStack()S
操作结:构造果个一栈S空。
estDroStyca(kS)
初条始件:栈S已在存。
作操结:果销毁S。
C栈elartSakc(S)初
始条:件栈S存在。已
操结果:将S清为作栈。空
SacktLngteh()S初
条始件栈:S已在存。操
作结果:回返栈S的长。度
StackEmty(p)S
初条件:始栈S已存在。
操结作:若果为空栈,则S返TR回U,否E则返回FALES
Ge。ToptS,(e)
始条件初:S已栈存在
操。作果:结栈S不空,若以e返则回栈顶素。元
ush(PSe,)
始初件:条S已存栈。在
操作结果在栈:的S顶插栈入新栈顶元素e的。
oPpS(e),
始条初:栈件S已在。
存作结操:删除果S栈顶的元素并以e返,回其。值
StckarTaveserS(vi,si(t) )初
始件条:栈S已在。存
操作果:结栈底到从顶依次栈S对中每个元素调用的函visi数t().
}ADT s ackt2
设定迷宫.的抽数据类型象为
:DTA mae{z
据数对象:={aiD,|ai,jj∈‘{ 、’‘’#‘、@、‘’*}’0≤,im≤+1,0j≤≤n1,+
m n≤10,}
数关据:R={RO系WCOL,}
ROW =j|a-i1j,ai,,∈j,Di=1,……,+1m,=j0,…,…n1}+
C OL={aiai,|j1-ai,,jD∈,i0=……,,m1+,=j1
,…,…+1}
n本基作操:In
tiMaze(Ma,,or,cwlo)
初始条:二维件组数a[rwo+][2cl+o2]已在存其中自,第1行至第row+行1每、中自第行1列至c第ol1+列的素元已有值并,以值0表且示通,以值1路示障碍。表
操结作果构:迷宫成的符字数型组以空,字白符表示通,路以符‘字’表示#障,碍在并宫四周迷上加一圈障。
Maz碍PaethM()初
始条件迷:宫已被赋M。值
作操结果若迷:M中存宫一条通路在则按如,规定改变下宫M迷状的态:字以“符*表”路径上示的置位字符,@”表““死胡示同;”则否宫的状态迷变不。
PinrMtza(Me)初
条始:件迷宫已M在存。
操作果:以结符形式字出迷输宫。
}ATDm aze;
3.本程序包三个模块含1)
oivd amni( )
}hwli(命令!e=“退出”;
))栈模2--块--实现栈抽数据类型
象)迷3宫模块---实现迷宫抽
原创力文档


文档评论(0)