前端面试宝典——栈
来源:互联网 发布:淘宝上买c10a配件违法 编辑:程序博客网 时间:2024/06/16 21:35
栈是一种先进后出的结构,新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端叫做栈底。
示意图如下:
栈的创建
在JavaScript生成栈,一般使用数组来形成。
var items=[];
栈的方法
栈一般会有下列几种方法:
- push:元素入栈
- pop:元素出栈
- peek:返回栈顶元素
- isEmpty:判断栈是否为空
- clear:清除栈中所有元素
- size:返回栈中元素个数
push
元素入栈可以直接使用数组原生的push方法
this.push=function(item){ items.push(item)}
pop
元素出栈可以直接使用数组原生的pop方法
this.pop=function(){ return items.pop();}
peek
栈是先入后出结构,所以栈顶元素,为数组的最后一个元素
this.peek=function(){ return items[items.length-1]}
isEmpty
判断栈是否为空,只需要判断数组长度是否为0
this.isEmpty=funciton(){ return items.length==0;}
clear
清空栈只需要将数组置空就可以了
this.clear=function(){ items=[];}
size
栈的大小就是返回数组长度
this.size=function(){ return items.length;}
完整代码如下:
function Stack(){ var items=[]; this.push=function(item){ items.push(item) } this.pop = function(){ return items.pop(); }; this.peek = function(){ return items[items.length-1]; }; this.isEmpty = function(){ return items.length == 0; }; this.size = function(){ return items.length; }; this.clear = function(){ items = []; };}
使用方法:
var stack=new Stack();stack.push('a');stack.push('b');stack.push('c');stack.pop();//cstack.size()//2stack.peek();//bstack.isEmpty;//falsestack.clear();//stack.size();//0
阅读全文
0 0
- 前端面试宝典——栈
- 前端面试宝典——来自cnblog
- 前端面试宝典——来自cnblog
- 前端面试宝典
- 前端面试宝典超
- 前端面试宝典(一)
- 前端面试宝典(二)
- 面试宝典——数据库
- 前端面试宝典(整理ing)
- 笔记——【程序员面试宝典4】
- C面试宝典——概念题
- 面试宝典——Java基础
- 前端面试宝典(内容很多,也有很多重复)
- Java面试宝典(6)混合(前端 + 数据库)
- 前端面试宝典(内容很多,也有很多重复)
- Web前端最全面试宝典- CSS篇
- Web前端最全面试宝典- Html篇
- 2008年新作——《网管面试宝典》上市了
- 特征值问题的有限元MATLAB程序(一维)
- 不用中间变量交换两个数
- HTML5中的地理定位API(Geolocation)
- 图像的腐蚀与膨胀
- mybatis和Spring的整合
- 前端面试宝典——栈
- JS学习第六天
- [BZOJ 1058][ZJOI 2007]报表统计 平衡树+线段树
- Android
- RTMP协议播放流程的实现及抓包分析
- Hibernate中使用HQL进行分页查询
- 最大类间二值化
- 名称 , 正则 顾问(示例)
- 【NYOJ-91】 阶乘之和