c语言栈解决迷宫问题,栈处理迷宫问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void Step(int xi,int yi,int xe,int ye )
{int i,j,cnt;
char di,find;
top ++;
stack[top].i= xi;
stack[top].j= yi;
stack[top].di= -1;
a[xi][yi]= -1;
while (top > -1 )
{
i = stack[top].i ;
j = stack[top].j ;
di= stack[top].di;
if (i == xe && j == ye )
{cnt= 0;printf("入口:");
for (i = 0;i <= top;i ++ )
{
printf("( %d ,%d )---> ",stack[i].i ,stack[i].j );
if ( (++cnt % 5 ) == 0 )
printf("\n");
}
printf("出口");
printf("\n");
return ;
}
find= 0;
di ++;
while (di <4 )
{
switch ( di )
{
case 0: i= stack[top].i - 1;j= stack[top].j ; break;
case 1: i= stack[top].i ; j= stack[top].j + 1;break;
case 2: i= stack[top].i + 1; j= stack[top].j ; break;
case 3: i= stack[top].i ; j= stack[top].j -1 ;break;
}
if (a[i][j] == 0 )
{
stack[top].di= di;
top ++;
stack[top].i= i;
stack[top].j= j;
stack[top].di= -1;find= 1;
a[i][j] = -1;
break;
}di ++;
}
if ( !find )
{
a[stack[top].i ][stack[top].j ] = 0 ;
top --;
}
}
return ;
}
c语言栈解决迷宫问题,栈处理迷宫问题相关推荐
- 应用栈解决迷宫问题的C语言实现
应用栈解决迷宫问题的C语言实现 参考文章: (1)应用栈解决迷宫问题的C语言实现 (2)https://www.cnblogs.com/AlgrithmsRookie/p/5958040.html 备 ...
- C语言数据结构-第三章栈和队列-电大同步进度
第三章栈和队列简介 从数据结构角度看,栈和队列是两种重要的线性结构,是一类操作受限制的特殊线性表,其特殊性在于限制插入和删除等运算的位置. 堆栈,限制用户只能在指定的一端插入和删除元素,因此具有后进先 ...
- SDUT-2449_数据结构实验之栈与队列十:走迷宫
数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...
- 语言堆栈入门——堆和栈的区别
原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 格式和部分内容稍作修改 ...
- C语言实现了一个顺序栈(附完整源码)
C语言实现了一个顺序栈 顺序栈 顺序栈结构示意图如下 C语言实现了一个顺序栈完整源码 顺序栈 用一段连续的存储空间来存储栈中的数据元素,比较常见的是用数组来实现顺序栈 顺序存储结构:1.元素所占的存储 ...
- 用栈解决四则运算问题
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本文章的 ...
- 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6
括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现,这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现) 逆波兰表达式求值问题(点我 ...
- 将一个数组中的值按逆序重新排放。_六十五、下一个更大的数系列,单调栈解决方法...
「@Author:Runsen」 ❝ 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. 「---- Runsen」 ❞ 据说,放张小姐姐觉得照片可以提高阅读量,图是来源学校 ...
- 使用栈解决的一类经典问题:表达式转换及求值;中缀表达式;前缀表达式,后缀表达式,中缀转前缀;中缀转后缀;后缀表达式求值;波兰式,逆波兰式
文章目录 背景知识 表达式转换问题(考研经典) 一:手工转换 (1)中缀转前缀和中缀转后缀 (2)前缀转中缀和后缀转中缀 二:用栈实现表达式转换 (1)中缀转后缀 (2)中缀转前缀 表达式计算问题(使 ...
- (十一)C语言中内存堆和栈的区别
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到.但对于很多的初学着来说,堆栈是一个很模糊的概念. 堆栈:一种数据结构.一个在程序运行时用于存放的地方,这可能是很多初学者的认 ...
最新文章
- linux网络管理原理,Linux__网络管理(物理层 数据链路层 网络层工作原理)
- [hashmap|空间换时间] leetcode 1 两数之和
- Wireshark实战分析之IP协议(二)
- Unity精品Demo收集
- SpringBoot框架理解
- oracle数据库plsqldev导出表、表结构的方法
- 数字基带调制解调matlab仿真,我的基于MATLAB仿真的数字调制与解调设计
- 今天做了一下chinaitlab上面的CCNA试题!
- android自定义鼠标指针,修改Android系统的鼠标光标
- application.yml文件
- GoLang使用sync.Once
- Android12前台服务问题
- 基金投资理财专栏介绍
- 伦敦时间现在几点_伦敦现在几点
- FPGA / IC 设计(一)
- 为什么计算机关机后自动开机,老司机教你电脑关机后自动开机怎么办
- unity之动画编辑器
- 第三十五天:XSS跨站反射存储DOM盲打劫持
- STM32MP157开发板调试笔记
- 去广告插件——火狐浏览器
热门文章
- 二十七、Kaggle| 研究生入学率预测
- kafka监控linux脚本,zabbix监控kafka
- CVPR 2022 | 利用域自适应思想,北大、字节跳动提出新型弱监督物体定位框架
- 全面涵盖传统方法和深度学习方法:3D人脸识别的十年发展及未来趋势
- ​Transformer升级之路:从Performer到线性Attention
- IJCAI 2020 | 淡妆浓抹总相宜之人脸上妆
- Numpy-创建数组
- 大话数据结构 java源代码_大话数据结构(八)Java程序——双向链表的实现
- 使用promise解决回调地狱_使用Promise 解决回调地狱
- 怎么查看自己安装的python版本_教你如何检查 Python 版本