没有合适的资源?快使用搜索试试~ 我知道了~
[问题描述] 以一个mXn的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 [基本要求] 首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫问题的非递归算法。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的位置,d表示走到下一个坐标的方向。如:对于下列数据的迷宫,输出的一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3,)(3,1,2)……
资源推荐
资源详情
资源评论










#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define M 20
#define N 20
#define SIZE 50
int a[M][N];
typedef struct nodetype
{ int row,cn; //当前位置坐标
int dr ; //下一步的方向
struct nodetype *next;//指向下一结点指针
struct nodetype *pre; //指向上一节点指针
}node; //栈结点类型
void mg(int m,int n) //创建迷宫并在四周设障碍
{int i,j;
for(i=0,j=0;i<m+2;i++)
a[i][j]=1;
for(i=0,j=n+1;i<m+2;i++)
a[i][j]=1;
for(j=0,i=0;j<n+2;j++)
a[i][j]=1;
for(j=0,i=m+1;j<n+1;j++)
a[i][j]=1;
printf("请以行为单位输入迷宫数列:\n");
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
};
#include<malloc.h>
#include<stdlib.h>
#define M 20
#define N 20
#define SIZE 50
int a[M][N];
typedef struct nodetype
{ int row,cn; //当前位置坐标
int dr ; //下一步的方向
struct nodetype *next;//指向下一结点指针
struct nodetype *pre; //指向上一节点指针
}node; //栈结点类型
void mg(int m,int n) //创建迷宫并在四周设障碍
{int i,j;
for(i=0,j=0;i<m+2;i++)
a[i][j]=1;
for(i=0,j=n+1;i<m+2;i++)
a[i][j]=1;
for(j=0,i=0;j<n+2;j++)
a[i][j]=1;
for(j=0,i=m+1;j<n+1;j++)
a[i][j]=1;
printf("请以行为单位输入迷宫数列:\n");
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
};

zou320320320
- 粉丝: 3
- 资源: 28

上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
已下载
下载帮助

资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
前往页