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 相关文章推荐
载入进度条 效果
Jul 08 Javascript
根据出生日期自动取得星座的js代码
Jul 20 Javascript
快速掌握Node.js模块封装及使用
Mar 21 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
May 17 Javascript
深入理解jQuery中的事件冒泡
May 24 Javascript
Angularjs的ng-repeat中去除重复数据的方法
Aug 05 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
Jun 01 Javascript
微信小程序左右滑动的实现代码
Dec 15 Javascript
javascript回调函数详解
Feb 06 Javascript
浅谈AngularJS中$http服务的简单用法
May 15 Javascript
Vue多组件仓库开发与发布详解
Feb 28 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
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清除bom示例
2014/03/03 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
XP折叠菜单&仿QQ2006菜单
2006/12/16 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python中删除文件的程序代码
2011/03/13 Python
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
Python 如何创建一个线程池
2020/07/28 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
高三毕业寄语
2014/04/10 职场文书
调解协议书
2014/04/16 职场文书
家长会标语
2014/06/24 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
社区灵活就业证明
2014/11/03 职场文书
社区母亲节活动总结
2015/02/10 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android