zoukankan      html  css  js  c++  java
  • 逆波兰式算法

      1、从左至右扫描一中缀表达式。
       2、若读取的是操作数,则判断该操作数的类型,并将该操作数存入操作数堆栈
       3、若读取的是运算符
                       (1) 该运算符为左括号"(",则直接存入运算符堆栈。
                       (2) 该运算符为右括号")",则输出运算符堆栈中的运算符到操作数堆栈,直到遇到左括号为止,此时抛弃该左括号。
                       (3) 该运算符为非括号运算符:
                           (a) 若运算符堆栈栈顶的运算符为左括号,则直接存入运算符堆栈。
                           (b) 若比运算符堆栈栈顶的运算符优先级高,则直接存入运算符堆栈。
                           (c) 若比运算符堆栈栈顶的运算符优先级低或相等,则输出栈顶运算符到操作数堆栈,直至运算符栈栈顶运算符低于(不包括等于)该运算符优先级,或为左括号,
                               并将当前运算符压入运算符堆栈。
        4、当表达式读取完成后运算符堆栈中尚有运算符时,则依序取出运算符到操作数堆栈,直到运算符堆栈为空。

  • 相关阅读:
    Redhat VNCServer
    Petshop4 的相关文章、下载地址和相关问题
    .Net 2.0 中用 ICallbackEventHandler实现 Ajax无刷新操作
    Silverlight 结合WCF Duplex Service聊天程序出炉
    vsftp的虚拟用户管理
    MySql 内存表使用
    linux 上远程控制
    理解WCF Session笔记
    转载-磁盘管理
    rhel 5 3G以上内存解决方案
  • 原文地址:https://www.cnblogs.com/dayang12525/p/6305732.html
Copyright © 2011-2022 走看看