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 function、指针及内置对象
Feb 19 Javascript
js有序数组的连接问题
Oct 01 Javascript
JS实现动态给图片添加边框的方法
Apr 01 Javascript
JavaScript 七大技巧(二)
Dec 13 Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
vue: WebStorm设置快速编译运行的方法
Oct 18 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
flexible.js实现移动端rem适配方案
Apr 07 Javascript
vue实现员工信息录入功能
Jun 11 Javascript
通过实例解析JavaScript for in及for of区别
Jun 15 Javascript
微信小程序实现购物车功能
Nov 18 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实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
php常用数学函数汇总
2014/11/21 PHP
PHP静态文件生成类实例
2014/11/29 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
javascript中对对层的控制
2006/12/29 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
后勤园长自我鉴定
2013/10/17 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
排查整治工作方案
2014/06/09 职场文书
幸福中国演讲稿
2014/09/12 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python