JS栈stack类的实现与使用方法示例

 更新时间:2019年01月31日 11:52:16   作者:白杨-M  
这篇文章主要介绍了JS栈stack类的实现与使用方法,结合实例形式分析了栈的原理,以及javascript定义与使用栈的基本操作技巧,需要的朋友可以参考下

本文实例讲述了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.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • JS绘图Flot如何实现动态可刷新曲线图

    JS绘图Flot如何实现动态可刷新曲线图

    这篇文章主要介绍了JS绘图Flot如何实现动态可刷新曲线图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • iview date-picker options只可选当前日期之前的(当前之后的禁用)

    iview date-picker options只可选当前日期之前的(当前之后的禁用)

    如果日期对象date的时间戳大于当前时间的时间戳,则该日期在当前日期之后,会被禁用,下面通过实例代码给大家介绍iview date-picker options只可选当前日期之前的,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • 在uni-app中踩过的坑及解决

    在uni-app中踩过的坑及解决

    这篇文章主要介绍了在uni-app中踩过的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • jquery下onpropertychange事件的绑定方法

    jquery下onpropertychange事件的绑定方法

    用了onchange事件,但是在输入的时候,用Javascript计算出并填值的那一列并不会响应onchange 事件。
    2010-08-08
  • Javascript访问html页面的控件的方法详细分析

    Javascript访问html页面的控件的方法详细分析

    这段时间在公司比较的空闲,决定研究研究javascript访问html控件,这是很普遍的,这里我系统的研究javascript的访问方式,测试通过并有下面一些研究成就,供大家分享和补充。
    2008-08-08
  • javascript 自定义事件初探

    javascript 自定义事件初探

    "事件机制可以使程序逻辑更加符合现实世界,在JavaScript 中很多对象都有自己的事件,例如按钮就有onclick 事件,下拉列表框就有onchange 事件,通过这些事件可以方便编程。
    2009-08-08
  • js 数据类型转换总结笔记

    js 数据类型转换总结笔记

    js 数据类型转换总结笔记,需要的朋友可以参考下。
    2011-01-01
  • JavaScript中判断函数是new还是()调用的区别说明

    JavaScript中判断函数是new还是()调用的区别说明

    具名函数的各种调用方式 在之前篇幅中已经介绍过了。这篇看看如何判断一个函数是被new调用的,还是被其它方式调用的。
    2011-04-04
  • uni-app学习之nvue使用教程

    uni-app学习之nvue使用教程

    uni-app可以说是目前跨端数最多的框架之一了,这篇文章主要给大家介绍了关于uni-app学习之nvue使用的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • js对象实现数据分页效果

    js对象实现数据分页效果

    这篇文章主要为大家详细介绍了js对象实现数据分页效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论