zoukankan      html  css  js  c++  java
  • 数据结构-2.2堆栈

    疑难点:后缀表达式的入栈出栈操作

    中缀,前缀,后缀表达式

    ## 中缀表达式转化为前缀和后缀表达式

    转化步骤:

    1. 按照运算符的优先级对所有的运算单位加括号
    2. 将运算符移动到对应括号的前面(前缀表达式)或后面(后缀表达式)
    3. 去掉括号,得到前缀或后缀表达式

    示例:

    中缀表达式:1+(2+3)×4-5

    1)加括号
    式子变成 ((1+((2+3)×4))-5)

    2)移动运算符

    对于前缀表达式,变成了 -(+(1×(+(23)4))5)

    对于后缀表达式:变成了((1((23)+4)×)+5)-

    3)去掉括号
    前缀表达式: - + 1 × + 2 3 4 5
    后缀表达式:1 2 3 + 4 × + 5 -

    栈的顺序实现:

      栈的顺序结构一般:一个一维数组和一个记录栈顶元素位置的变量构成

      栈指针TOP等于:-1表示栈空,MaxSize-1表示堆栈满

      出栈先判断堆栈空不空,检查TOP是不是等于 -1POP一下,然后指针TOP-1

  • 相关阅读:
    Scrapy-02-item管道、shell、选择器
    django类视图的装饰器验证
    django禁用csrf
    django admin
    关系型数据库与非关系型数据库
    LINQ.CS
    测试
    测试
    一个测试
    WPF中的Style
  • 原文地址:https://www.cnblogs.com/raising/p/12860404.html
Copyright © 2011-2022 走看看