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 replace()正则替换实现代码
Feb 26 Javascript
Js 刷新框架页的代码
Apr 13 Javascript
不同Jquery版本引发的问题解决
Oct 14 Javascript
jQuery处理图片加载失败的常用方法
Jun 08 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
纯jquery实现模仿淘宝购物车结算
Aug 20 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
Jan 26 Javascript
AngularJS递归指令实现Tree View效果示例
Nov 07 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
node.js 利用流实现读写同步,边读边写的方法
Sep 11 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
Nov 15 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 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 FPDF类库应用实现代码
2009/03/20 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
解析argc argv在php中的应用
2013/06/24 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
PHP PDO操作总结
2014/11/17 Javascript
浅析JavaScript动画
2015/06/10 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
微信小程序 Tab页切换更新数据
2017/01/05 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
Python实现石头剪刀布游戏
2021/01/20 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
局部内部类是否可以访问非final变量?
2013/04/20 面试题
浙大网新C/C++面试解惑
2015/05/27 面试题
秋季运动会稿件
2014/01/30 职场文书
学习交流会主持词
2014/04/01 职场文书
投诉信回复范文
2015/07/03 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
python 镜像环境搭建总结
2022/09/23 Python