`

迷宫求解算法

阅读更多

  1. 原文出处: http://blog.csdn.net/gzzheyi/article/details/6686351 
  2. Status MazePath(MazeType (*Maze)[MAX],PosType start,PosType end)  
  3. {  
  4.     SElemType   e ;  
  5.     MazeStack S ;  
  6.     PosType curpos ;  
  7.   
  8.     int curstep ;  
  9.   
  10.     InitStack(&S) ;     //初始化栈  
  11.   
  12.     curpos = start ;  // start.x= start.y = 0  
  13.   
  14.     curstep = 1 ;  
  15.   
  16.     do  
  17.     {  
  18.         if(Pass(curpos,Maze))  
  19.         {  
  20.             FootPrint(curpos,Maze) ;  
  21.             e.di = 1 ;  
  22.             e.seat = curpos ;  
  23.             e.ord = curstep ;  
  24.   
  25.             Push(&S,e) ;  
  26.   
  27.             if(curpos.x == end.x && curpos.y == end.y )  
  28.             {  
  29.                 PrintMaze(Maze) ;  
  30.                 return TRUE ;  
  31.             }  //if  
  32.   
  33.             curpos = NextPos(&curpos,1) ;  
  34.             curstep++ ;  
  35.               
  36.         } //if  
  37.   
  38.         else  
  39.         {  
  40.             if(!StackEmpty(S))  
  41.             {  
  42.                 Pop(&S,&e) ;  
  43.   
  44.                 while(e.di == 4 && !StackEmpty(S))  
  45.                 {  
  46.                     MarkPrint(e.seat,Maze) ;  
  47.                     Pop(&S,&e) ;  
  48.                 }  //while  
  49.   
  50.                 if(e.di <4)  
  51.                 {  
  52.                     e.di++ ;  
  53.                     Push(&S,e) ;  
  54.                     curpos = NextPos(&(e.seat) ,e.di) ;  
  55.                 } //if  
  56.             } //if  
  57.         }  //else  
  58.     }while(!StackEmpty(S)) ;   //while  
  59.   
  60.   
  61.     PrintMaze(Maze) ;  
  62.   
  63.     return FALSE ;  
  64.   
  65. // MazePath 
分享到:
评论

相关推荐

    c#迷宫求解算法

    在探讨C#迷宫求解算法时,我们深入解析一种基于深度优先搜索(Depth-First Search,简称DFS)的经典算法实现。此算法来源于严蔚敏的计算机算法理论,旨在通过递归或非递归的方式遍历迷宫的所有可能路径,找到从起点...

    迷宫求解算法数据结构c语言

    从给定的代码片段和描述来看,这是一段用C语言实现的迷宫求解算法,涉及到了数据结构中的栈的应用。接下来,我们将详细解析这段代码所体现的关键知识点。 ### 迷宫求解算法 迷宫求解算法通常采用深度优先搜索(DFS...

    C语言迷宫求解算法设计

    在IT领域,迷宫求解算法是计算机科学中一个经典的问题,主要涉及到图论和搜索算法。本主题将深入探讨如何使用C语言实现迷宫求解算法。C语言以其高效和灵活性,成为实现这类算法的理想选择。我们将关注两种常见的算法...

    迷宫求解算法详解:手把手教你实现DFS和BFS

    使用场景及目标:适用于学习迷宫求解算法及其实际应用,提高问题解决能力和编程技能。 阅读建议:建议逐步跟随文章提供的代码示例进行操作,结合理论讲解加深理解。此外,可以尝试修改和扩展代码,探索更多迷宫求解...

    基于Python迷宫求解算法详解pdf

    基于Python迷宫求解算法详解pdf

    迷宫求解算法及其Python实现

    内容概要:本文详细介绍了迷宫求解这一经典算法问题,涵盖了迷宫表示方法和常见的三种算法——深度优先搜索(DFS)、广度优先搜索(BFS)及A*算法。文章通过Python代码示例展示了使用深度优先搜索实现的具体步骤。 ...

    数据结构与算法 迷宫求解

    迷宫求解算法通常用于游戏设计、路径规划等问题,它要求我们能够智能地处理复杂的环境。 迷宫求解的核心在于找到一种有效的搜索策略。常见的方法包括深度优先搜索(DFS)、广度优先搜索(BFS)以及A*搜索算法等。...

    c语言描述的迷宫求解算法

    这是一个用c语言描述的程序源文件,采用简单的算法思路,在vc++6.0环境运行时,按照提示即可完成迷宫求解。

    C++迷宫求解代码+报告

    迷宫求解算法有很多种,常见的有深度优先搜索(DFS)和广度优先搜索(BFS)。DFS通常使用递归实现,而BFS则利用队列数据结构。这两种方法都能找到从起点到终点的最短路径,但BFS保证找到的是最短路径。 1. **深度...

    迷宫求解MFC代码

    通过阅读和理解这些代码,可以加深对MFC和迷宫求解算法的理解。 总结,利用MFC进行迷宫求解,我们需要结合MFC提供的类和API来构建用户界面,同时应用适当的数据结构和算法来解决实际的迷宫问题。通过这样的项目,...

    C#写的表达式计算和迷宫求解源代码

    本篇将详细探讨标题为"C#写的表达式计算和迷宫求解源代码"的项目,其中包含两个主要部分:表达式计算和迷宫求解算法。 首先,我们来看表达式计算部分。这部分的源代码可能使用了C#中的表达式树(Expression Trees)...

    迷宫求解——栈的简单应用

    它会帮助我们验证迷宫求解算法的正确性。 栈在迷宫求解中的应用体现了其在路径搜索中的优势,因为栈的特性使得我们可以轻松地回溯到前一步,直到找到正确的路径。这种方法称为深度优先搜索(DFS),是一种常用且...

    C语言 迷宫求解

    本篇文章将详细解读迷宫求解算法的基本原理、所用的数据结构、代码逻辑流程,并对关键函数进行逐个解析。 ### 迷宫求解算法概览 迷宫求解是典型的图搜索问题,可以采用深度优先搜索(DFS)或广度优先搜索(BFS)等...

    迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解

    迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解迷宫求解...

    【最新编排】迷宫求解C语言版(数据结构书上的算法).doc

    "迷宫求解C语言版(数据结构书上的算法)" 本资源是关于迷宫求解的C语言实现,基于数据结构书上的算法。...本资源提供了一个完整的迷宫求解算法的实现,基于数据结构书上的算法,使用C语言实现,并在VC6.0下调试通过。

    迷宫求解C语言代码

    在迷宫求解算法中,使用栈来实现迷宫的搜索。栈是一种后进先出(Last In First Out,LIFO)的数据结构,栈的基本操作包括初始化、入栈、出栈和判断栈是否为空。 2. 栈的实现 在C语言中,栈可以使用结构体来实现。...

    迷宫求解数据结构课程设计报告

    数据结构课程设计报告迷宫求解算法的实现 数据结构是计算机科学的基础之一,解决实际问题的关键所在。本课程设计报告的目的是设计一个迷宫求解算法,以解决迷宫问题。迷宫问题是指在一个 m * n 的长方阵中,0 和 1 ...

    《数据结构》 严蔚敏老师 迷宫求解算法(栈) C语言实现

    根据书中的伪代码实现的迷宫求解,但是并不是最优解,适合刚开始学栈的同学参考 #include #include #include #include #define TURE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASINLE -1 #...

Global site tag (gtag.js) - Google Analytics