中缀转后缀(栈的应用三)
来源:互联网 发布:excel统计空单元格数据 编辑:程序博客网 时间:2024/06/06 03:56
public class TestStack { private String testStr; private Stack<Character> stack; public TestStack(String testStr,Stack<Character> stack){ this.testStr = testStr; this.stack = stack; } //中缀转后缀 ( ) + - * / public ArrayList<Character> zzzhz(){ ArrayList<Character> list = new ArrayList<Character>(); for(int i =0;i<testStr.length();i++){ Character c = testStr.charAt(i); if(c=='+' || c=='-'){ if(stack.isEmpty() || stack.peek()=='('){ stack.push(c); }else{ while(!stack.isEmpty() &&(stack.peek()=='*' || stack.peek()=='/' ||stack.peek()=='+' ||stack.peek()=='-' )){ list.add(stack.pop()); } stack.push(c); } }else if(c=='*' || c=='/'){ if(stack.isEmpty() || stack.peek()=='('){ stack.push(c); }else{ while(!stack.isEmpty() && (stack.peek()=='*' || stack.peek()=='/')){ list.add(stack.pop()); } stack.push(c); } }else if(c=='('){ stack.push(c); }else if(c==')'){ while(!stack.isEmpty() &&stack.peek()!='('){ list.add(stack.pop()); } }else{ list.add(c); } } if(!stack.isEmpty()){ while(!stack.isEmpty()){ { char c = stack.pop(); if(c!='('){ list.add(c); } } } } return list; } }
0 0
- 中缀转后缀(栈的应用三)
- 栈的应用->中缀转后缀
- 中缀表达式转后缀表达式求值(栈的应用)
- 栈的应用---(中缀表达式 转 后缀表达式)
- 栈的应用(括号匹配、后缀表式计算、中缀转后缀)
- 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
- 栈的应用-中缀表达式转后缀表达式(C版)
- 数据结构:栈的应用之中缀转后缀C++
- 栈的应用—中缀转后缀求表达式值
- 栈的应用--表达式计算&中缀转后缀
- 栈的应用 — 中缀式转后缀式
- 栈的重要应用之中缀转后缀表达式算法
- 栈的应用实践之中缀表达式转后缀表达式
- 栈的应用 - 中缀表达式转后缀表达式
- 栈的应用之中缀表达式转后缀表达式
- 栈的应用之中缀表达式转后缀
- 栈的应用案例2:中缀表达式转后缀表达式
- 栈的应用2:中缀转后缀及计算
- 离开WOW的日子里---怀恋盗贼
- 系统编译
- UML类图几种关系的总结
- 第二章 再一次吃惊----数组的数组与多维数组的区别
- DataAnnotations方法定义WPF输入异常祥解
- 中缀转后缀(栈的应用三)
- Ext js 4 全选和反选
- android:installLocation简析
- 分析网站如何检测已经登录的QQ帐号
- 玩转新版12306抢票篇
- Ubuntu12.04安装jdk7
- Java网络编程
- 第三章 数组的解剖学
- Android中WebView详解