1.代码展示
#include <iostream>
#include <queue>
#include<iomanip>
using namespace std;
//二维数组代表一个图
int grid[100][100];
int indexCount=0;
//输出整张图
void showPath();
//初始化整张图
void grid_init();
int length=0;
struct Position
{
int row;
int col;
};
//初始化整张图
void grid_init()
{
//初始化图int grid[20][20];-1代表未被访问的点
int i,j;
for(i=1;i<9;i++)
{
for(j=1;j<9;j++)
{
grid[i][j]=-1;
}
}
//初始化围墙,1代表围墙
for(i=1;i<9;i++)
{
grid[i][1]=-2;
grid[i][8]=-2;
grid[1][i]=-2;
grid[8][i]=-2;
}
//增加围墙的点
//grid[2][3]=-2;
grid[3][3]=-2;
grid[4][3]=-2;
}
//根据起始位置和终点位置获得最短可行路径,若找到不经返回true,否则返回false
bool FindPath(Position start,Position finish,Position *&path)
{