资源简介
迷宫求解的源码
以一个 m*n 的长方阵表示迷宫,0 和 1 分别表示迷宫中的通路和障碍。设计一个程序,对任意设 定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
代码片段和文件信息
#include
#include
#include
int imag[20][20];
int vis[20][20];
//存储走过的路径
int dir[4][2]={{01}{10}{0-1}{-10}};
int mn;
int sxsyexey;
//迷宫起点和终点
typedef struct Node{
int xydirection;
}ElementType;
typedef struct SNode{
ElementType data;
SNode*next;}SNode*linkstack;
linkstack path;
void initlinkstack(linkstack &L){
L = (SNode*)malloc(sizeof(SNode));
L->next=NULL;
}
void Push(linkstack&LElementType e){
SNode* p = (SNode*)malloc(sizeof(SNode));
p->data=e;
p->next=L->next;
L->next=p;
}
void pop(linkstack&L){
if(L->next==NULL)
printf(“The linkstack is empty\n“);
else{
SNode*p;
p=L->next;
L->next=p->next;
free(p);
}
}
bool emptylinkStack(linkstack L){
if(L->next==NULL)
return true;
else
return false;
}
ElementType GetTop(linkstack L){
if(!emptylinkStack(L)){
ElementType e;
SNode *p=L;
p=L->next;
e=p->data;
return e;
}
else{
printf(“The linkstack is empty\n“);
}
}
void init(){
printf(“请输入迷宫的行数和列数\n“);
scanf(“%d %d“&n &m);
printf(“请输入迷宫\n“);
int ij;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf(“%d“&imag[i][j]);
}
void Putin(){
int s1s2e1e2;
printf(“请输入起点的横纵坐标\n“);
scanf(“%d %d“&s1 &s2);
if(s1<1||s1>n||s2<1||s2>m)
{
printf(“输入有误请重新输入\n“);
scanf(“%d %d“&s1 &s2);
相关资源
- 谭浩强c语言word版
- C语言实现malloc和free
- C语言经典程序设计源代码之画图软件
- 进程的同步与互斥C语言
- 基于huffman编码的文件解压缩程序(
- C语言电子表格
- C语言linux实现ls功能
- 一个完整的des算法的c语言实现
- c语言RSA算法 这是一个完整的rsa算法
- tftp服务器源码,纯c语言
- 严蔚敏《数据结构》的全部代码实现
- LinuxC语言实现CP命令(edsionte.com)
- C语言指针详解__ppt文件
- FTP客户端程序,c语言编写
- C语言N皇后打印图形版
- Head First_深入浅出C语言(中文版)_带
- 唯一可译码源代码c语言 含报告
- 数据结构课程设计-班级通讯录
- AES密码学课程设计带报告
- 哈希表操作c语言版
- C语言版拼音输入法源代码
- C语言 真值表
- 51单片机C语言电流电压测量代码
- C语言编写Windows界面程序新手必看!附
- HMAC-MD5 C语言算法
- 公交信息查询系统 C语言.doc
- Flappy Bird C语言代码
- C语言课程设计—图书信息管理系统
- 机器人灭火比赛源程序C语言版本
- 支持向量机的C语言程序源码
评论
共有 条评论