各种堆栈实现中堆栈的顶部是什么?

时间:2015-05-12 11:13:42

标签: arrays algorithm stack

实现堆栈时,堆栈的顶部是什么元素?

  • 作为链接列表实现的堆栈
  • 堆栈实现为数组

1 个答案:

答案 0 :(得分:0)

  

Stack实现为链表

在此实现中,您有一个链接列表,以及指向列表第一个元素的指针/引用。这个元素也是堆栈的顶部。

  • 如果要添加元素,可以创建新节点,将其链接到当前头部,然后将头部修改为新元素。这是堆栈中的push(x)
  • 当你pop()一个元素时,你取头,将新头设置为以下元素,并返回旧头的值。

这两项操作都是在恒定的时间内完成的。

  

Stack实现为数组

使用数组实现堆栈时,通常是循环数组实现。这意味着如果数组的长度为n,则引用索引0处的元素和索引n-1处的元素作为相邻元素。

在此实现中,您还保存堆栈“顶部”的索引,并在每次弹出或将元素推送到堆栈时对其进行修改。在此实现中,堆栈的顶部不在常量索引中。