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特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
js实现碰撞检测特效代码分享
Oct 16 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
Vue非父子组件通信详解
Jun 12 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
js中Array对象的常用遍历方法详解
Jan 17 Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
二招解决php乱码问题
2012/03/25 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
html下载本地
2006/06/19 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
详谈js模块化规范
2017/07/07 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
在Python中调用ggplot的三种方法
2015/04/08 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
python实现多线程的两种方式
2016/05/22 Python
获取Django项目的全部url方法详解
2017/10/26 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
2014政务公开实施方案
2014/02/19 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
教师个人教学总结
2015/02/11 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
MySQL锁机制
2021/04/05 MySQL
CPU不支持Windows11系统怎么办
2021/11/21 数码科技