• 数据结构--栈


      栈也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。栈就像是一摞书,拿到新书时我们会把它放在书堆的最上面,取书时也只能从最上面的新书开始取。

     

     

       从栈中取出数据时,是从最上面,也就是最新的数据开始取出的。这里取出的是Red。

       如果再进行一次出栈操作,取出的就是Green了。

    解说

      像栈这种最后添加的数据最先被取出,即“后进先出”的结构,我们称为 Last In First Out,简称 LIFO。与链表和数组一样,栈的数据也是线性排列,但在栈中,添加和删除数据的操作只能在一端进行,访问数据也只能访问到顶端的数据。想要访问中间的数据时,就必须通过出栈操作将目标数据移到栈顶才行。
     

    应用示例

      栈只能在一端操作这一点看起来似乎十分不便,但在只需要访问最新数据时,使用它就比较方便了。比如,规定(AB(C(DE)F)(G((H)I J)K))这一串字符中括号的处理方式如下:首先从左边开始读取字符,读到左括号就将其入栈,读到右括号就将栈顶的左括号出栈。此时,出栈的左括号便与当前读取的右括号相匹配。通过这种处理方式,我们就能得知配对括号的具体位置。
  • 相关阅读:
    NSFileHandle学习
    NSFileManager学习创建拷贝删除
    电量电费的尖峰平谷
    电表的付费模式
    电能表类型
    oracle递归
    相关子查询和非相关子查询
    再说exists 关键字,和inner join 差别大
    发电厂和电力局的关系
    js的toFixed()方法
  • 原文地址:https://www.cnblogs.com/hzzjj/p/14891091.html
Copyright © 2020-2023  润新知