JS栈stack类的实现与使用方法示例


Posted in Javascript onJanuary 31, 2019

本文实例讲述了JS栈stack类的实现与使用方法。分享给大家供大家参考,具体如下:

栈是一种“先进后出”的数据结构,原理如下图所示:

JS栈stack类的实现与使用方法示例

示例代码:

/*使用栈stack类的实现*/
function stack() {
  this.dataStore = [];//保存栈内元素,初始化为一个空数组
  this.top = 0;//栈顶位置,初始化为0
  this.push = push;//入栈
  this.pop = pop;//出栈
  this.peek = peek;//查看栈顶元素
  this.clear = clear;//清空栈
  this.length = length;//栈内存放元素的个数
}
function push(element){
  this.dataStore[this.top++] = element;
}
function pop(){
  return this.dataStore[--this.top];
}
function peek(){
  return this.dataStore[this.top-1];
}
function clear(){
  this.top = 0;
}
function length(){
  return this.top;
}
/*测试stack类的实现*/
var s = new stack();
s.push("aa");
s.push("bb");
s.push("cc");
console.log(s.length());//3
console.log(s.peek());//cc
var popped = s.pop();
console.log(popped);//cc
console.log(s.peek());//bb

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS栈stack类的实现与使用方法示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
学习ExtJS form布局
Oct 08 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
JS按字节截取字符长度实例
Nov 20 Javascript
简介JavaScript中的setHours()方法的使用
Jun 11 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
微信小程序开发之toast等弹框提示使用教程
Jun 08 Javascript
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
小程序实现授权登陆的解决方案
Dec 02 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
Jul 11 Javascript
layui实现三级联动效果
Jul 26 Javascript
JavaScript eval()函数定义及使用方法详解
Jul 07 Javascript
浅谈JS的二进制家族
May 09 Javascript
JQuery中queue方法用法示例
Jan 31 #jQuery
JavaScript两种计时器的实例讲解
Jan 31 #Javascript
JavaScript对JSON数组简单排序操作示例
Jan 31 #Javascript
实例讲解v-if和v-show的区别
Jan 31 #Javascript
详解使用angular框架离线你的应用(pwa指南)
Jan 31 #Javascript
Angular PWA使用的Demo示例
Jan 31 #Javascript
vue.js指令v-for使用以及下标索引的获取
Jan 31 #Javascript
You might like
火车头采集器3.0采集图文教程
2007/03/17 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
JavaScript 数组详解
2013/10/10 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
python生成IP段的方法
2015/07/07 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
基于python中theano库的线性回归
2018/08/31 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
pandas针对excel处理的实现
2021/01/15 Python
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
超市营业员求职简历的自我评价
2013/10/17 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
法人委托书范本格式
2014/09/15 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
新年祝酒词大全
2015/08/11 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书