数据结构----栈

1.栈是什么?

栈是一种遵从后进先出(LIFO)的有序集合。新添加的或删除的元素都保存在栈的末尾,称为栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。

2.通俗一点理解

你可以把栈看做一摞书。


我们把书一本本摞起来,最先放的书在最下面,而最后放的书在最上面。我们拿书或者放书都在书堆的最顶部。最顶部的那本书就是栈顶,最底部的那本书就是栈底。

3.栈有那些属性或者方法呢?

  • push(element): 把一个元素添加到栈顶
  • pop () : 移除栈顶元素,同时返回栈顶元素
  • peek () : 返回栈顶的元素
  • isEmpty(): 判断栈是否为空,如果是返回true,否则返回false
  • clear():清空栈
  • size: 返回栈里元素的个数

4.如何用js去实现一个栈呢?

1.先初始化一个空栈

我们基于js里面的数组来初始化一个没有方法的栈

2.我们尝试去实现栈的push方法

我们创建一个新的栈,并且调用一下push方法:

并把该js文件引入html文件里面,
打印结果如下:

我们可以看见栈它的栈底bottom是'head',也就是第一个添加的元素,栈顶是'say',也就是最后一个添加的元素。这样push方法我们就实现了。

3.我们尝试去实现一下pop()方法

接着打印下结果:

结果如下:

我们可以看见,返回的topData就是我们最后添加的元素,执行pop()方法之后,栈的栈顶也发生了相应的变化

4.大家一起动手尝试一下

大家感兴趣的话,可以接着把后面的几个方法实现一下。
thank you for your view~

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复