之前的python课程学习过关于栈结构的内容,回顾一下,然后用JavaScript实现图形化栈结构。
栈具有非常强大的“记忆”功能,它可以保存对你有作用的数据,也可以被叫做保存现场;其次,当调用一个带参函数时候, 被调用的函数的形参,在编译器编译的时候,这些形参都需要一定的空间存放他们,这时计算机就会默认帮你保存到栈中了!
栈的定义
栈的作用,这是一个生活中处处用到的一种现象,例如当你拿个篮子去买苹果,那么你最先挑选的苹果就是在篮子的最底下,最后挑选的苹果就在篮子的最上边,那么这就造成了这么一种现象:先拿进篮子的苹果,要最后才能取出来;相反,最后拿进篮子的苹果,就能最先取出来!
栈是限定只能在表尾进行插入和删除的线性表。
我们把允许插入和删除的一端称作栈顶(Top),另一端称作栈底(bottom)。不含任何数据元素的栈被称作空栈,栈也被称为先进后出的线性表(具有现线性关系)。
而栈的特殊性,就是在表中想进行插入和删除的操作,只能在栈顶进行。这也就使得了:栈底是非常稳定的,因为先进来的元素都被放在了栈底。
栈的插入操作:叫做进栈,也叫作压栈,入栈。
栈的删除操作:叫做出栈,也叫弹栈。
通过python来实现一下进栈和出栈:
JavaScript图形化栈操作(动图):
先写静态
Html:
Css:
JavaScript
首先获取页面上所有要用的标签;
设置按钮点击事件:
定义栈顶和栈长:
入栈函数:
出栈函数:
这样就完成了一个图形化栈操作:
完整代码(http://note.youdao.com/noteshare?id=3989295f1bf81fca3baa8368c0e7a73b)