JavaScript 栈
栈是一种遵从后进先出(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
通过上述的方法,我们就能够比较明显的看出来栈的效果啦
![]()

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JavaScript 数组
创建和初始化数组 let arr1 = new Array();//创建了一个空数组 let arr2 = new Array(5);//创建了一个长度为5,每项都为空的数组 let arr3 = new Array(1,2,3);//创建数组[1,2,3] let arr = [];//创建了空数组 等同于arr1 let arrs = [1,2,3];//等同于arr3 数组的属性 let arrLen = arr.length;//0 返回arr数组的长度 添加数组元素 arr[arrLen] = 1;//[1] 在数组最后一个空位赋值即可 arr.push(2,4,5);//[1,2,4,5] push 在数组后面按照括号里的顺序插入值 可以push任意个元素 let aLen = arr.unshift(10);//[10,1,2,4,5] unshift 在数组头部插入元素 可以unshift任意个元素 并且返回新的数组长度 删除输入元素 let a0 = arr.shift();//[1,2,4,5] 删除数组第一个元素,并且返回被删除的元素 let a4 = arr.p...
- 下一篇
一行代码让你的python运行速度提高100倍
python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。 “一行代码让python的运行速度提高100倍”这绝不是哗众取宠的论调。 我们来看一下这个最简单的例子,从1一直累加到1亿。 最原始的代码: import time def foo(x,y): tt = time.time() s = 0 for i in range(x,y): s += i print('Time used: {} sec'.format(time.time()-tt)) return s print(foo(1,100000000)) 结果: Time used: 6.779874801635742 sec 4999999950000000 我们来加一行代码,再看看结果: from numba import jit import time @jit def foo(x,y): tt = time.time() s = 0 for i in range(x,y): s += i print('Time used: {} sec'.fo...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程