zoukankan      html  css  js  c++  java
  • 数据结构——栈

    栈是一种遵从先后进先出的数据结构。栈分为栈底和栈顶,先添加或是待删除的元素都保存在栈的末尾,也就是栈顶。另一端就是栈底了。比如堆放的一摞书或是一堆盘子就跟栈的结构一样,后面进去的总是先出来。

    首先我们创建一个类来表示栈  先从骨架开始,在慢慢往里面添加方法。

    function stacks(){};

    然后我们选择一种方式来保存栈里面的元素,我们可以选择数组

    var  arr=[ ];

    接着我们介绍一下栈的一些方法:1、push(Elements)  添加一个或多个元素到栈顶

                   2、pop( )  移除栈顶元素并返回这个元素

                   3、peek( )  返回栈顶的元素(不对栈做任何修改)

                   4、isEmpty( )  判断一个栈是否为空栈,是则返回true,反之返回false

                   5、clear( )  移除栈里的所有元素

                   6、size( )  和数组的length属性相似,返回栈里元素个数

    现在让我们来实现上面的几个方法:

     1、 this.push=function(element){

        arr.push(element)

        }           

     2、 this.pop=function(){

        return arr.pop()

        }

     3、 this.peek=function(){

        return arr[arr.length-1]

        }

     4、 this.isEmpty=function(){

        return arr.length==0

        }

     5、 this.clear=function(){

         arr=[ ]

        }

     6、 this,size=function(){

        return arr.length

        }

    到这里栈的方法就已经写好了,把方法放进开始创建的骨架里,那么一个完整的栈也就完成了!

    function stacks(){

    var  arr=[ ];

    this.push=function(element){

        arr.push(element)

        };           

    this.pop=function(){

        return arr.pop()

        };

    this.peek=function(){

        return arr[arr.length-1]

        };

    this.isEmpty=function(){

        return arr.length==0

        };

    this.clear=function(){

         arr=[ ]

        };

    this.size=function(){

        return arr.length

        };

    }

    现在就来使用这个函数 var fn=new stacks()

               fn.push(10)//推进数字10

              fn.size()//返回个数1

              fn.clear()//清除元素

              fn.isEmpty()//检查是否为空,返回true

    其他方法就不一一试了,就这样,我们创建了一个完整的栈方法。还有从十进制到二进制的转化,有兴趣就在深入了解一下。

  • 相关阅读:
    TAM实施范例
    xmanager连接到RHEL6.
    TAM安装过程中遇到的问题
    db29.1FP2升级FP12
    WAS常见问题及解答
    在 Lotus Quickr for Domino 环境中使用 Tivoli Access Manager WebSEAL 作为反向代理服务器
    TAM包含的内容全面的指南自IBM
    Setting up the Web Admin Tool in LDAP 6.x to communicate via SSL
    oracle字符集。
    redhat中设置环境变量PATH的方法和只显示目录的Tree
  • 原文地址:https://www.cnblogs.com/xzhan/p/8991897.html
Copyright © 2011-2022 走看看