欢迎您的到来! 设为首页 | 联系我们
  首页 www.7758.com www.422111.com www.4447758.com
元素 1 被存储正在数组 a[1] 处
      来源:未知     发布日期:2019-11-24

  

  ,其存储形态如图 2 所示:图 2 栈布局存储 {1,2,3,4}通过图 1 和图 2 的对比不难看出,利用挨次表模仿栈布局很简单,只需要将数据从 a 数组下标为 0 的顺次存储即可。

  实现栈存储布局。通过前面的进修我们晓得,利用栈存储布局操做数据元素必需恪守 先辈后出 的准绳,本节就 若何利用挨次表模仿栈以及实现对栈中数据的根基操做(出栈和入栈) 给大师做细致引见。

  好比,将图 5 中的元素 2 出栈,澳门威尼斯人则需要先将元素 4 和元素 3 顺次出栈。需要留意的是,当无数据出栈时,要将 top 做 -1 操做。因而,元素 4 和元素 3 出栈的过程别离如图 6a) 和 6b) 所示:

  起首向栈中添加元素 1,我们默认数组下标为 0 一端暗示栈底,因而,元素 1 被存储正在数组 a[1] 处,同时 top 值 +1,如图 4 所示:

  留意,图 6 数组中元素的消逝仅是为了便利初学者进修,其实,这里只需要对 top 值做 -1 操做即可,由于 top 值本身就暗示栈的栈顶,因而 top-1 就等同于栈顶元素出栈。而且后期向栈中添加元素时,新元素会存储正在雷同元素 4 如许的旧元素上,将旧元素笼盖。元素 4 和元素 3 全数出栈后,元素 2 才能出栈。因而,利用挨次表模仿数据出栈操做的 C 言语实现代码为:

  )和栈布局就会发觉,它们存储数据的体例高度类似,只不外栈对数据的存取过程有特殊的,而挨次表没有。

  这里给出利用挨次表模仿栈存储布局常用的实现思,即正在挨次表中设定一个及时指向栈顶元素的变量(一般定名为 top),top 初始值为 -1,暗示栈中没有存储任何数据元素,及栈是空栈。一旦无数据元素进栈,则 top 就做 +1 操做;反之,若是数据元素出栈,top 就做 -1 操做。挨次栈元素入栈

  其实,top 变量的设置对模仿数据的 入栈 操做没有现实的帮帮,它是为实现数据的 出栈 操做做预备的。

  图 4 模仿栈存储元素 1采用以上的体例,顺次存储元素 2、3 和 4,最终,top 值变为 3,如图 5 所示:

  从数组下标为 0 的模仿栈存储数据是常用的方式,从其他数组下标处存储数据也完全能够,这里只是为了便利初学者理解。领会了挨次表模仿栈存储数据后,接下来看若何模仿栈中元素出栈的操做。因为栈对存储元素出栈的次序有先辈后出的要求,若是想将图 1 中存储的元素 1 从栈中取出,需先将元素 4、元素 3 和元素 2 顺次从栈中取出。

上一篇:总结起来就是:通过加减法的体例去思虑“哪里 下一篇:事情累了能够取舍换一种事情内容



Copyright 2019-2022 http://www.cxjxrq.com.cn 版权所有 未经协议授权禁止转载