zoukankan      html  css  js  c++  java
  • 数据结构与算法2-3 线性顺序堆栈

    单个数组堆栈

    • 典型结构:

      LIFO last in first out (先进后出,后进先出)


    • 后缀表达式:

      1. 后缀表达式,符号在数值之后,方便计算运行,看到符号就可以进行计算了。

      2. 将所有计算顺序按照括号括号之后,再把符号放到同级括号之后

        ​ 例: ab-c/d=((ab)-(c/d))=ab*cd/-

        2.1 堆栈计算过程,首先遇到ab,存入栈中,然后遇到了,计算出a*b,存入堆栈,

        2.2 然后遇到c,d,存入栈中,遇到/,计算出c/d,存入堆栈

        2.3 最后堆栈中只有两个值a*b,c/d,然后遇到符号完成ab-c/d



    单个数组的顺序存储堆栈代码如下:



    # 两个堆栈共有一个数组,分别从数组两边一起开始存放

    左边 -1表示空栈

    右边 max表示空栈,即下标超出了数组的上界

    满栈 左右两个堆栈都不用制定大小,只需共同占用整个数组即为满栈,即两堆栈的top相遇。



    代码如下: ![](http://images2015.cnblogs.com/blog/1175415/201706/1175415-20170623223339460-494555403.png) ![](http://images2015.cnblogs.com/blog/1175415/201706/1175415-20170623223346304-1478419886.png)

  • 相关阅读:
    Elasticsearch 检索
    Elasticsearch 基本操作
    Elasticsearch 集群
    Elasticsearch 插件head和kibana
    Elasticsearch 安装
    CentOS 安装JDK
    前端登录密码加密传输
    springboot2.0 快速集成kafka
    原来自定义模型绑定器还可以这么玩
    Value cannot be null or empty. 参数名: contentPath
  • 原文地址:https://www.cnblogs.com/guoshiyv/p/7071880.html
Copyright © 2011-2022 走看看