资源简介
给出一个迷宫 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
- 上一篇:MFC简单mp3播放器
- 下一篇:数据挖掘中的Apriori算法(C语言版)源代码
相关资源
- C语言数据结构用队列求解迷宫最短路
- 设计一个环形队列,用front和rear分别
- 每输入i0=
- 链队列严蔚敏 C语言版 链队列表示与
- 数据结构--队列实现舞伴配对问题 舞
- 杨辉三角形(循环队列的应用C语言描
- 公交线路最短路径查询
- c语言实现的动态规划求最短路径长度
- 最短路径算法导航
- Dijkstra-欧洲旅行
- djksrla最短路径算法C++实现
- 动态规划算法实现多段图最短路径问
- C语言环形队列
- 多级反馈队列调度算法 C语言模拟实现
- 算法分析中单源最短路径问题的C++代
- 队列类Queue的C++实现
- 交通安全 c或c++交通咨询系统能让旅客
- 利用C++栈和队列实现回文判断
- STM32F103 串口环形队列应用程序
- C语言基数排序——顺序队列实现
- 利用队列找出迷宫的最优解
- c语言支持自己创建迷宫,并求解最短
- 数据结构教程第五版李春葆课后习题
- c语言 银行取号排队队列程序 源码
- 一个c++环形队列缓冲区
- 数据结构-渡口模拟队列
- 用数组实现一个循环队列
- 用C++写的双向循环链表派生栈和队列
- 求两个城市之间的最短路径
- 算法设计中关于优先队列式分支限界
评论
共有 条评论