- 4
- 0
- 约 4页
- 2016-12-06 发布于北京
- 举报
(迷宫问题的算法实现
#ifndef MMIGONG_H
#define MMIGONG_H
#define MAX_SIZE 100
#includeiostream
using namespace std;
struct Node
{
int x;
int y;
int di;
};
class Stack
{
private:
int rrow;
int ccolm;
int top;
int count;
int minlenght;
Node stack[MAX_SIZE];
Node sstack[MAX_SIZE];
public:
Stack(); //初始化
//int **InsortMiGong(); //输入迷宫(即一个二维数组)
void FindPath(int ab[][10]); //找出迷宫的出路
};
Stack::Stack() //初始化
{
rrow=0;
ccolm=0;
top=-1;
count=1;
minlenght=MAX_SIZE;
}
/*int ** Stack::InsortMiGong() //输入迷宫(即一个二维数组)
{
int row=1,colm=1;
while(true)
{
cout请输入迷宫的行数和列数:;
cinrowcolm;
if(row=0||colm=0)
{
cout输入错误!请重新输入:endl;
rrow=row;
ccolm=colm;
continue;
}
else
{
rrow=row;
ccolm=colm;
break;
}
}
int *mg[];
cout请输入迷宫矩阵(只有0和1两个数构成):;
for(int i=0;irow;i++)
for(int j=0;jcolm;j++)
cinmg[i][j];
return mg;
}*/
void Stack::FindPath(int ab[][10]) //找出迷宫的出路
{
int a,b,di,find,k;
top++;stack[top].x=1;
stack[top].y=1;
stack[top].di=-1;
ab[1][1]=-1;
while(top-1)
{
a=stack[top].x;
b=stack[top].y;
di=stack[top].di;
if(a==8b==8)
{
coutcount++:endl;
for(int k=0;k=top;k++)
{
cout(stack[k].x,stack[k].y);
if(!((k+1)%15))
coutendl;
}
coutendl;
if(top+1minlenght)
{
for(k=0;k=top;k++)
sstack[k]=stack[k];
minlenght=top+1;
}
ab[stack[top].x][stack[top].y]=0;
top--;
a=stack[top].x;
b=stack[top].y;
di=stack[top].di;
}
find=0;
while(di8!find)
{
di++;
switch(di)
{
case 0:a=stack[top].x-1;b=stack[top].y;break;
case 1:a=stack[top].x;b=stack[top].y+1;break;
case 2:a=stack[top].x+1;b=stack[top].y;break;
case 3:a=stack[top].x;b=stack[top].y-1;break;
}
if(ab[a][b]==0)
find=1;
}
if (find==1)
{
stack[top].di=di;
top++;
stack[top].x=a;
stack[top].y=b;
stack[top].di=-1;
ab[a][b]=-1;
}
else
{
ab[stack[top].x][stack[top].y]=0;
top--;
}
}
coutendl;
cout走出迷宫最短的路径是:endl;
cout其长度为:minlenghtendl;
cout路径是:endl;
for(k=0;kminlenght;k++)
{
cout(sstack
您可能关注的文档
- (软件项目管理的流程控制分析.doc
- (轻质隔墙板项目投资可行性分析报告.doc
- (轻隔墙条板质量检验评定标准.doc
- (轻钢龙骨墙检验批.doc
- (轻纺大道分离式立交右幅定期检测报告.doc
- (辅导员心理问题处理方面.doc
- (辅导员面试问题.doc
- (输变电工程公司的管理沟通研究开题报告.doc
- (辨析题及解答题.doc
- (辨析题答案.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 人教版三年级数学下册《口算除法》.ppt VIP
- 中华民族共同体概论课件专家版3第三讲 文明初现与中华民族起源(史前时期).pptx VIP
- 西南财经大学专题研究生考试参考书目.pdf VIP
- 中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840—1919)2025年版.pptx VIP
- 金属地下矿山安全教育培训课件.ppt VIP
- 第二学期八年级数学备课组工作计划.docx VIP
- 妇科护理宫腔镜进修总结.pptx
- 中华民族共同体概论大讲堂之第十二讲民族危亡与民族意识觉醒(1840—1919).pptx VIP
- 2025年度销售工作总结与2026战略规划.pptx VIP
- 《横县鱼生全链条管理规范 第1部分:养殖》.docx VIP
原创力文档

文档评论(0)