您现在的位置是:首页 > 文章详情

JavaScript 栈

日期:2018-09-19点击:456

栈是一种遵从后进先出(LIFO)原则的有序集合。

新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端就叫栈底。


我们在这里先定义一个栈:

function Stack(){ let items = [];//存储栈 //添加一个或多个元素到栈顶 this.push = function(element){ items.push(element) } //移除栈顶的元素,并且返回被移除的元素 this.pop = function(){ return items.pop()//pop方法有返回值 } //返回栈顶的元素,不做任何操作 this.peek = function(){ return items[items.length-1]; } //检测栈里是否有元素,没有true,有false this.isEmpty = function(){ return items.length === 0; } //清空栈 this.clear = function(){ items = [] } //返回栈里的元素个数 this.size = function(){ return items.length; } }


在上面我们已经定义好了一个栈,现在我们来调用一下这个栈:


let stack = new Stack(); console.log("stack栈是否为空:"+stack.isEmpty());//true stack.push(5);//(压栈) stack.push(10); stack.push(15); stack.push(20); console.log("stack栈顶元素:"+stack.peek())//20 console.log("stack栈长度:"+stack.size())//4 stack.pop();//删除栈顶元素(出栈) console.log("stack栈顶元素:"+stack.peek())//15 console.log("stack栈是否为空:"+stack.isEmpty());//false stack.clear(); console.log("stack栈是否为空:"+stack.isEmpty());//true


通过上述的方法,我们就能够比较明显的看出来栈的效果啦



6efab1869072f77cc579de71871a9af95bee2342


原文链接:https://yq.aliyun.com/articles/642535
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章