• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签: 队列  最短路径  

资源简介

给出一个迷宫 2维数组 求解迷宫的最短路径问题 例如 int mg[10][10]= { {1,1,1,1,1,1,1,1,1,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,0,0,1,1,0,0,1}, {1,0,1,1,1,0,0,0,0,1}, {1,0,0,0,1,0,0,0,0,1}, {1,0,1,0,0,0,1,0,0,1}, {1,0,1,1,1,0,1,1,0,1}, {1,1,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1}, };

资源截图

代码片段和文件信息

#include
using namespace std;
#define MaxSize 50

int mg[10][10]=
{   
{1111111111}
{1001000101}
{1001000101}
{1000011001}
{1011100001}
{1000100001}
{1010001001}
{1011101101}
{1100000001}
{1111111111}
};

struct Box
{
int ijpre;
};
struct QuType
{
Box data[MaxSize];
int frontrear;
};

void print(QuType quint front)
{
int k=frontjns=0;
do            //反向找到最短的路径,将该路径上的方块的pre成员设置成 -1
{
j = k;
k = qu.data[k].pre;
qu.data[j].pre = -1;
}while(k!=0);

cout<<“迷宫路径如下:“< k=0;
while(k {
if(qu.data[k].pre==-1)
{
ns++;
cout<<“(“< if(ns%5 == 0)
{
cout< }
}
k++;
}
cout<}
bool mgpath(int xiint yiint xeint ye)
{
int ijdi;              //定义下标
bool find=0;
QuType qu;                      //定义数据类型为QuType 的 qu
qu.front=qu.rear=-1;            //初始化队头指针和队尾指针
qu.rear++;                      
qu.data[qu.rear].i = xi;        //把入口 坐标赋给 顺序队列
qu.data[qu.rear].j = yi;
qu.data[q

评论

共有 条评论