摘要: 上篇中,我们只支持对整数实现,本篇完整实现,支持加减乘除和多位数、小数,思路与上篇相同。 因此直接上代码实现过程 package com.atxihua; import java.util.ArrayList; import java.util.Collections; import java.ut 阅读全文
posted @ 2021-12-23 20:41 活在记忆里的人 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 前缀表达式又称为波兰表达式,后缀表达式又称为逆波兰表达式 实现过程 1、输入一个逆波兰表达式(后缀表达式),使用栈(Stack),计算其结果 2、支持小括号和多位数,本例简化为支持对整数计算 3、思路分析: 还是以(3+4)*5-6为例,其对应后缀表达式为3 4 + 5 * 6 - 1.从左到右扫描 阅读全文
posted @ 2021-12-23 11:35 活在记忆里的人 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 后缀表达式适合计算机式的计算,因此在开发中,我们需要将中缀表达式转为后缀表达式。 三种表达式 这里再次区分一下前缀表达式、中缀表达式、后缀表达式(以(3+4)*5-6为例) 中缀表达式就是我们正常遇见的(3+4)*5-6这样的式子 前缀表达式又称为波兰式,其运算符是在数之前 中缀表达式转前缀表达式思 阅读全文
posted @ 2021-12-23 11:08 活在记忆里的人 阅读(2010) 评论(0) 推荐(0) 编辑
摘要: 本例转载自https://blog.csdn.net/sgbfblog/article/details/8001651,为了更好的学习与做笔记,再次感谢原创。 一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 阅读全文
posted @ 2021-12-21 11:24 活在记忆里的人 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 栈的特性在上篇中已经介绍,本篇直接讲述实现综合计算器思路。 使用栈完成表达式的计算思路: 1.通过一个index值(索引),来遍历我们的表达式 2.如果我们发现是一个数字,就直接入数栈 3.如果发现当前的符号栈为空,就直接入栈 4.如果栈中有操作符,就进行比较,如果当前的操作符优先级小于或者等于栈中 阅读全文
posted @ 2021-12-20 22:23 活在记忆里的人 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 栈的介绍 1.栈是一个先进后出(FILO-First In Last Out)的有序列表 2.栈(Stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端为变化的一端,我们称之为栈顶(top),另一端为固定的一端,我们称之为栈底(Bottom)。 3. 阅读全文
posted @ 2021-12-20 17:01 活在记忆里的人 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Josephu(约瑟夫、约瑟夫环)问题 Josephu问题为:设编号为1,2,... n个人围坐一圈,约定编号为k(1<=k<=n)的人开始报数,数到m的那个人出列,他的下一位又从1开始报数,报到m的那个人又出列,以此类推,直到所有人出列为止,由此产生一个出队编号的序列。 提示:用一个不带头节点的循 阅读全文
posted @ 2021-12-20 15:30 活在记忆里的人 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 双向链表 双向链表也叫双链表,是链表的一种,它的每个数据节点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 图示1: 图示2: 分析: 1.遍历与修改实现方式与单链表一致 2.添加(默认添加到双 阅读全文
posted @ 2021-12-19 15:28 活在记忆里的人 阅读(905) 评论(0) 推荐(0) 编辑
摘要: 单链表是一种链式存取的数据结构,单链表中的数据是以结点的形式存在,每一个结点是由数据元素和下一个结点的存储的位置组成。单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素 阅读全文
posted @ 2021-12-16 22:22 活在记忆里的人 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 在数组模拟队列的基础上,通过取模达到环形来实现 分析思路: 1.front变量的含义做一个调整:front指向队列的第一个元素,即front初始值为0,arr[front]即为第一个元素 2.rear变量的含义做一个调整:rear指向队列的最后一个元素的后一个位置,因为希望空出一个空间作为约定,re 阅读全文
posted @ 2021-12-16 10:17 活在记忆里的人 阅读(61) 评论(0) 推荐(0) 编辑