zoukankan      html  css  js  c++  java
  • 栈的四则运算的运用

    栈的四则运算的运用

    中缀表达式

    平时的表达式都是中缀表达式:比如1+2-(3*4)

    这种符号在两个数之中的表达式叫做中缀表达式

    后缀表达式

    1 2 + 3 4 * - 这种运算符在数字后面的叫做后缀表达式

    中缀表达式转后缀表达式:

    对于数字直接输出

    对于符号:

    和栈顶符号进行优先级比较

    如果栈顶符号优先级低,则该符号进栈(左括号是优先级最低的)

    如果栈顶比要加入的符号优先级高,那么先弹出栈顶符号并输出,再进栈要进栈的符号

    如果是右括号:则将栈顶符号弹出并输出,知道匹配左括号,同时将左括号和右括号舍弃

     

    遍历结束:将栈中所有符号以此弹出并输出

     

    后缀表达式的运算

    读取到数字,将数字入栈

    读取到字符:

    1.将栈顶的数字作为右边的数字

    2.将栈顶的下一个数字作为左边的数字

    3.将读取到的字符作为表达式求值,再入栈

    遍历结束:栈中的唯一数字为计算结果

     

  • 相关阅读:
    vue 使用sass 和less
    生命周期函数以及vue的全局注册
    vue-router的简单实现原理
    vue的三种传参方式
    配置router列表
    vue传参二
    Gym 101933E(状态压缩+记忆化搜索)
    Gym 101933 A(dp)
    Gym 101775H(dp)
    Gym 101775 D (思维)
  • 原文地址:https://www.cnblogs.com/beautiful7/p/14105097.html
Copyright © 2011-2022 走看看