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 相关文章推荐
JS+XML 省份和城市之间的联动实现代码
Oct 14 Javascript
Jquery练习之表单验证实现代码
Dec 14 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
浅析Node.js实现HTTP文件下载
Aug 05 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
jquery实现点击弹出对话框
Feb 08 jQuery
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
Feb 25 Javascript
36个正则表达式(开发效率提高80%)
Nov 17 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数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
PHP 文件上传限制问题
2019/09/01 PHP
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python 文件处理注意事项总结
2017/04/10 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Python使用gRPC传输协议教程
2018/10/16 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
俄语专业职业生涯规划
2014/02/26 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
人生感悟经典句子
2019/08/20 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
mysql如何查询连续记录
2022/05/11 MySQL