JavaScript-实现数据结构-栈

栈,后进先出,受限制的线性表。
只容许在一端进行添加和删除操做。this

如下代码是栈的封装及使用:prototype

<script>
    //封装栈类
    function Stack(){
        //栈中的属性
        this.items = [];
        //栈的相关操做
        //一、将元素压入栈
        Stack.prototype.push = function(element){
            this.items.push(element);
        }
        //二、从栈中取出栈顶元素
        Stack.prototype.pop = function(){
            return this.items.pop();
        }
        //三、查看栈顶元素
        Stack.prototype.peek = function(){
            return this.items[this.items.length-1];
        }
        //四、判断栈是否为空
        Stack.prototype.isEmpty = function(){
            return this.items.length == 0;
        }
        //五、获取栈中元素的个数
        Stack.prototype.size = function(){
            return this.items.length;
        }
        //六、toString方法
        Stack.prototype.toString = function(){
            var resultString = '';
            for(var i=0;i<this.items.length;i++){
                resultString += this.items[i] + '';
            }
            return resultString;
        }
    }
    
    //栈的使用
    var s = new Stack();
    s.push(20);
    s.push(12);
    s.push(100);
    
    s.pop();
    s.pop();
    alert(s);
    
    alert(s.peek());
    alert(s.isEmpty());
    alert(s.size());
</script>
相关文章
相关标签/搜索