033|JavaScript数据结构之栈

2017-05-21  本文已影响19人  中年小钢炮

前面的课程已经学习了许多JavaScript的特性,累积了不少编程基本功。

这一节,我们来学习一下一种基础的数据结构:栈。

栈,英文是stack。栈拥有两个操作,入栈和出栈。你可以把栈想象成一个桶:

我们通过一段代码来熟悉一下栈结构:

var stack = [] // 新建,此时栈为 []
stack.push(1) // 入栈1,入栈后栈变为 [1]
stack.push(2) // 入栈2,入栈后栈变为 [1, 2]
stack.pop() // 出栈,出栈后栈变为 [1]
stack.pop() // 出栈,出栈后栈变为[]

细心的同学可能会注意到,JavaScript中采用数组来模拟栈。

我们结合下图来分析一下栈的行为:


上述代码流程的图形化
  1. 第一行:新建了一个栈,此时栈为空,[]。
  2. 第二行:将1入栈,栈变为了[1]。
  3. 第三行:将2入栈,2进入栈顶,栈变成了[1,2]。
  4. 第四行:出栈。出栈时会将栈顶元素弹出,因为2是栈顶元素,所以将2弹出,此时变成了[1]。
  5. 第五行:出栈。此时栈中只剩下元素1,因此1出栈。此时栈变成了[]。

好了,栈的知识讲完了。栈是所有数据结构中最为基础的一种,掌握了它,就意味着你开始进入了数据结构的大门。

什么是函数调用栈?什么是绑定函数?

请继续关注我的课程,我将在后续课程中为大家解答上述问题。

想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

我的微信
上一篇 下一篇

猜你喜欢

热点阅读