![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 87
Ce今天早睡了吗
这个作者很懒,什么都没留下…
展开
-
数据结构:栈的应用——迷宫求解、表达式求值(C++实现)
这里是闲话:上一篇文章,已经实现了栈的三种简单应用,接下来,本文将会实现另外两种复杂一点点的应用——迷宫求解、表达式求值,栈的LIFO特性仍然是我们应该注意的点,以下内容仅供参考~一、迷宫求解1、算法思想:①关键:深度优先遍历算法寻找迷宫路径问题是栈的一个经典应用,由于计算机解迷宫时用的是“穷举求解”的方法,即从入口开始,寻找可通的路径并前进,若当前路径不可通则退回,并重复寻找,直至找到出口。寻找可通的路径并前进,这与压栈操作对应;退回不可通的路径,这与弹栈操作对应,故我们可以使用栈的.原创 2021-02-27 19:07:15 · 986 阅读 · 0 评论 -
数据结构:栈的应用——数值转换、括号匹配、行编辑程序(C++实现)
这里是闲话:在上一篇文章(详见https://blog.csdn.net/jokerCe/article/details/114139123)中,我们已经实现了栈的最基本操作,那么在本篇文章中,我们便可以用已实现的数据结构来完成一些小应用,包括数值转换、括号匹配、行编辑程序,并给出必要的实验结果。在下文内容中中,我们应着重思考栈的特性——“后进先出”(FILO)在这几个应用中起到的作用,以下内容仅供参考~一、数值转换 1、 算法思想:求进制转化使一般从高位到低位进行,恰好和计算过程相...原创 2021-02-26 17:26:32 · 1403 阅读 · 1 评论 -
数据结构:栈——基础功能实现(C++实现)
栈的抽象数据类型定义:ADT Stack{数据对象:D=数据关系:R1=约定端为栈顶,端为栈底。基本操作:InitStack(& s)操作结果:构造一个空栈s。Push(& s, e)初始条件:栈s已存在。操作结果:插入元素e为新的栈顶元素。Pop(& s, & e)初始条件:栈s已存在且非空。操作结果:删除栈顶元素,并用e返回其值。StackFull(s)初始条件:栈s已存在。操作结果:判断是...原创 2021-02-26 16:49:00 · 1616 阅读 · 3 评论