最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
用c++实现的迷宫递归算法
时间:2022-07-02 11:00:41 编辑:袖梨 来源:一聚教程网
程序已经被vc6.0调试过,包括一个头文件maze.h和一个主程序
再附加一个说明文件格式的代码
#ifndef MAZE_H
#define MAZE_H
#include
#include
#include
typedef struct
{int left;
int forward;
int right;
}Intersection;
class Maze
{private:
int mazesize;
int EXIT;
Intersection *intsec;
public:
Maze(char*);
int TraverseMaze(int);
};
Maze::Maze(char *filename)
{ifstream fin;
int i;
fin.open(filename,ios::in|ios::nocreate);
if(!fin)
{cerr<<"the maze dose not exist"<
}
fin>>mazesize;
intsec=new Intersection[mazesize+1];
for(i=1; i<=mazesize;i++)
fin>>intsec[i].left>>intsec[i].forward>>intsec[i].right;
fin>>EXIT;
fin.close();
}
int Maze::TraverseMaze(int intsecvalue)
//0 denote for no availble road exist
{
if(intsecvalue>0)
{if(intsecvalue==EXIT)
{cout<
}
//go to left
else if(TraverseMaze(intsec[intsecvalue].left))
{cout<
}
else if(TraverseMaze(intsec[intsecvalue].forward))
{cout<
}
else if(TraverseMaze(intsec[intsecvalue].right))
{cout<
}
}
return 0;
}
#endif
#include "maze.h"
void main()
{char filename[32];
//string filename;
cout<<"enter the data file name:";
cin>>filename;
Maze M(filename);
if(M.TraverseMaze(1))
cout<
6
0 2 0
3 5 6
0 0 4
0 0 0
0 0 0
7 0 0
7
相关文章
- 《燕云十六声》配置要求介绍 12-25
- 《燕云十六声》搬砖介绍 12-25
- 时空中的绘旅人天宇之间怎么玩 绘旅人天宇之间活动玩法介绍 12-25
- QQ2024年度报告怎么看 2024qq年度报告玩法介绍 12-25
- 归龙潮珠砂什么时候up 归龙潮红缘绮梦卡池介绍 12-25
- 王者荣耀S38赛季有什么更新 12-25