摘要: 在前面的栈实现运算器的三篇文章中,我们依次看到使用栈实现对中缀表达式的计算、后缀表达式的计算。 在实际实现计算器时,用户输入的是中缀表达式,而计算机需要将中缀表达式转换为后缀表达式而后计算后缀表达式的值从而得出结果,这样可以计算加减乘除以及带小括号的中缀表达式。因此,本篇文章介绍中缀表达式转后缀表达 阅读全文
posted @ 2021-12-02 10:57 匿余 阅读(147) 评论(0) 推荐(0)
摘要: 递归 递归就是自己调用自己,每次调用时传入不同的变量,有助于编程者解决复杂的问题。 1.递归用于解决什么样的问题 各种数学问题,如:八皇后问题、汉诺塔、阶乘问题、迷宫问题、球和篮子的问题... ... 各种算法中也会使用到递归,比如快排、归并排序、二分查找、分治算法等等。 2.递归需要遵守的原则 执 阅读全文
posted @ 2021-12-01 20:59 匿余 阅读(80) 评论(0) 推荐(0)
摘要: 在前两篇文章中实现了对操作数的加减乘除运算,采用的是对中缀式进行运算,且不能对有括号的中缀表达式进行运算。 而在本篇文章中将对后缀表达式进行计算。 例如:(3+4)*5-6对应的后缀表达式为 3 4 + 5 * 6 - 代码实现思路: 根据后缀表达式的求值步骤进行求值。 将后缀表达式 3 4 + 5 阅读全文
posted @ 2021-12-01 15:40 匿余 阅读(38) 评论(0) 推荐(0)
摘要: 1.前缀表达式(波兰表达式) 前缀表达式的运算符位于操作符之前 例如:中缀表达式 (3+4)*5-6 对应的前缀表达式为:- * + 3 4 5 6 中缀表达式转前缀表达式的步骤: (1) 初始化两个栈:运算符栈S1和储存中间结果的栈S2; (2) 从右至左扫描中缀表达式; (3) 遇到操作数时,将 阅读全文
posted @ 2021-12-01 14:28 匿余 阅读(342) 评论(0) 推荐(0)
摘要: 在文章 Java学习——数据结构之栈实现计算器(一) - 匿余 - 博客园 (cnblogs.com) 中,对栈实现计算器开始了初步的实现,不足之处在于其操作数只能时一位数而不能是多位数,在本篇文章中将对它进行代码的一些优化,即操作数可以为多位的加减乘除计算器的实现。 优化思路分析: 在依次扫描表达 阅读全文
posted @ 2021-12-01 11:26 匿余 阅读(42) 评论(0) 推荐(0)
摘要: 使用栈来实现计算器中的加减乘除 例如:当用户输入一个中缀表达式,如:3+6*8 时,使用栈结构的程序将该表达式的结果运算出来。 思路分析 定义一个index值,来遍历中缀表达式 若index是一个数字,直接加入数栈 若index是一个符号: 当前符号栈为空:直接加入符号栈 当前符号栈有操作符,就进行 阅读全文
posted @ 2021-11-30 20:58 匿余 阅读(133) 评论(0) 推荐(0)
摘要: 栈(stack) 栈是一个先入后出的有序列表。 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行操作的一种特殊线性表。其中,允许插入和删除的一端为变化的一段,称为栈顶(Top),另一端为固定的一端,称为栈底。 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除的元素刚好相 阅读全文
posted @ 2021-11-30 19:20 匿余 阅读(46) 评论(0) 推荐(0)
摘要: 约瑟夫 问题描述:设编号为1、2、3... ...n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人先出列,他的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人都出列为止,由此产生一个出队编号的序列,求此序列。 算法思路: 先构成一个有n个结点的单循环 阅读全文
posted @ 2021-11-30 11:53 匿余 阅读(113) 评论(0) 推荐(0)
摘要: 链表 链表是有序的列表,但是它在内存中的地址并不连续。 链表是以节点的方式来存储,是链式存储。 链表中的每个节点包含data域、next域(指向下一个节点) 链表分为带头结点的链表和不带头节点的链表 带头节点的链表中,其头节点的data域不存放数据,next域指向下一节点。 1.单向链表 单链表只保 阅读全文
posted @ 2021-11-30 11:11 匿余 阅读(141) 评论(0) 推荐(0)
摘要: 队列 队列是一个有序列表,可以用数组或链表来实现。 队列遵循先入先出的原则。即:先存入队列的数据先去除,后存入队列的数据后取出 数组模拟队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组需要声明队列的最大容量maxSize 。 因为队列的输出、输入是分别从前后端来处理,因此需要两 阅读全文
posted @ 2021-11-29 20:23 匿余 阅读(98) 评论(0) 推荐(0)