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 相关文章推荐
用javascript实现点击链接弹出"图片另存为"而不是直接打开
Aug 15 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
Jun 14 Javascript
javascript中获取下个月一号,是星期几
Jun 01 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 Javascript
React-router v4 路由配置方法小结
Aug 08 Javascript
基于Vue开发数字输入框组件
Dec 19 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
Jul 23 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 Javascript
小程序实现tab标签页
Nov 16 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
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
canvas实现钟表效果
2017/02/13 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python中import机制详解
2017/11/14 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python将txt文件读取为字典的示例
2018/12/22 Python
python内存管理机制原理详解
2019/08/12 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
餐厅经理岗位职责范本
2014/02/17 职场文书
物理教学随笔感言
2014/02/22 职场文书
民族学专业求职信
2014/07/28 职场文书
2014年学习部工作总结
2014/11/12 职场文书
通知函格式范文
2015/04/27 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript