
栈
kekeoneone
offeroffer
展开
-
中缀转后缀及求值
1.分析:使用两个栈,一个存入符号,一个存储中间结果。遇到右括号,栈顶比它高或者同级的,去中间结果栈,所以可知,这个中间结果栈是只进不出。但是最后,pop出来的时候正好是后缀比表达式的逆序。所以,按照他的需求,我们在这里使用数组即可实现。这里引用尚硅谷老师的一张图作为说明:代码:package com;import java.util.ArrayList;import java.u...原创 2020-03-20 15:05:29 · 216 阅读 · 0 评论 -
逆波兰表达式
需求:输入后缀表达式,计算出结果。思路:1.使用一个数组,读入字符串,添加到数组中。这里使用正则表达式按照空格分隔,解决了多位数问题。相比于上一节使用苏北SubString方法向后读取更简单。2.计算:package com;import java.util.ArrayList;import java.util.List;import java.util.Stack;pub...原创 2020-03-20 13:26:11 · 144 阅读 · 0 评论 -
栈的应用——中缀表达式
1.思路:分为两个栈:数栈:numStack:存放数据符号栈:operStack2.通过一个索引来遍历:如果发现是数字,直接入数栈;如果发现是符号,分情况:2.1 如果当前栈空,直接入栈;2.2 如果不为空: 2.2.1 如果当前操作符优先级小于或等于栈中的操作符,则需要从数栈中pop出两个数,再从符号栈中pop出一个,再将计算结果入数栈,再将当前操作符入符号...原创 2020-03-19 23:23:45 · 451 阅读 · 0 评论 -
数组模拟栈
1.入栈出栈,返回栈顶元素package com;import java.time.chrono.IsoEra;import java.util.Scanner;public class StackDemo { public static void main(String[] args) { StackDemo demo=new StackDemo(2); ...原创 2020-03-19 20:06:58 · 108 阅读 · 0 评论 -
stack中add与push的区别
添加链接描述转载 2020-03-19 09:34:08 · 1946 阅读 · 0 评论