该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

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语言栈解决迷宫问题,栈处理迷宫问题相关推荐

  1. 应用栈解决迷宫问题的C语言实现

    应用栈解决迷宫问题的C语言实现 参考文章: (1)应用栈解决迷宫问题的C语言实现 (2)https://www.cnblogs.com/AlgrithmsRookie/p/5958040.html 备 ...

  2. C语言数据结构-第三章栈和队列-电大同步进度

    第三章栈和队列简介 从数据结构角度看,栈和队列是两种重要的线性结构,是一类操作受限制的特殊线性表,其特殊性在于限制插入和删除等运算的位置. 堆栈,限制用户只能在指定的一端插入和删除元素,因此具有后进先 ...

  3. SDUT-2449_数据结构实验之栈与队列十:走迷宫

    数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...

  4. 语言堆栈入门——堆和栈的区别

    原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html 格式和部分内容稍作修改 ...

  5. C语言实现了一个顺序栈(附完整源码)

    C语言实现了一个顺序栈 顺序栈 顺序栈结构示意图如下 C语言实现了一个顺序栈完整源码 顺序栈 用一段连续的存储空间来存储栈中的数据元素,比较常见的是用数组来实现顺序栈 顺序存储结构:1.元素所占的存储 ...

  6. 用栈解决四则运算问题

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本文章的 ...

  7. 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6

    括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现,这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现) 逆波兰表达式求值问题(点我 ...

  8. 将一个数组中的值按逆序重新排放。_六十五、下一个更大的数系列,单调栈解决方法...

    「@Author:Runsen」 ❝ 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. 「---- Runsen」 ❞ 据说,放张小姐姐觉得照片可以提高阅读量,图是来源学校 ...

  9. 使用栈解决的一类经典问题:表达式转换及求值;中缀表达式;前缀表达式,后缀表达式,中缀转前缀;中缀转后缀;后缀表达式求值;波兰式,逆波兰式

    文章目录 背景知识 表达式转换问题(考研经典) 一:手工转换 (1)中缀转前缀和中缀转后缀 (2)前缀转中缀和后缀转中缀 二:用栈实现表达式转换 (1)中缀转后缀 (2)中缀转前缀 表达式计算问题(使 ...

  10. (十一)C语言中内存堆和栈的区别

    在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到.但对于很多的初学着来说,堆栈是一个很模糊的概念. 堆栈:一种数据结构.一个在程序运行时用于存放的地方,这可能是很多初学者的认 ...

最新文章

  1. linux网络管理原理,Linux__网络管理(物理层 数据链路层 网络层工作原理)
  2. [hashmap|空间换时间] leetcode 1 两数之和
  3. Wireshark实战分析之IP协议(二)
  4. Unity精品Demo收集
  5. SpringBoot框架理解
  6. oracle数据库plsqldev导出表、表结构的方法
  7. 数字基带调制解调matlab仿真,我的基于MATLAB仿真的数字调制与解调设计
  8. 今天做了一下chinaitlab上面的CCNA试题!
  9. android自定义鼠标指针,修改Android系统的鼠标光标
  10. application.yml文件
  11. GoLang使用sync.Once
  12. Android12前台服务问题
  13. 基金投资理财专栏介绍
  14. 伦敦时间现在几点_伦敦现在几点
  15. FPGA / IC 设计(一)
  16. 为什么计算机关机后自动开机,老司机教你电脑关机后自动开机怎么办
  17. unity之动画编辑器
  18. 第三十五天:XSS跨站反射存储DOM盲打劫持
  19. STM32MP157开发板调试笔记
  20. 去广告插件——火狐浏览器

热门文章

  1. 二十七、Kaggle| 研究生入学率预测
  2. kafka监控linux脚本,zabbix监控kafka
  3. CVPR 2022 | 利用域自适应思想,北大、字节跳动提出新型弱监督物体定位框架
  4. 全面涵盖传统方法和深度学习方法:3D人脸识别的十年发展及未来趋势
  5. ​Transformer升级之路:从Performer到线性Attention
  6. IJCAI 2020 | 淡妆浓抹总相宜之人脸上妆
  7. Numpy-创建数组
  8. 大话数据结构 java源代码_大话数据结构(八)Java程序——双向链表的实现
  9. 使用promise解决回调地狱_使用Promise 解决回调地狱
  10. 怎么查看自己安装的python版本_教你如何检查 Python 版本