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

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

<script>
    //封装栈类
    function Stack(){
        //栈中的属性
        this.items = [];
        //栈的相关操作
        //1、将元素压入栈
        Stack.prototype.push = function(element){
            this.items.push(element);
        }
        //2、从栈中取出栈顶元素
        Stack.prototype.pop = function(){
            return this.items.pop();
        }
        //3、查看栈顶元素
        Stack.prototype.peek = function(){
            return this.items[this.items.length-1];
        }
        //4、判断栈是否为空
        Stack.prototype.isEmpty = function(){
            return this.items.length == 0;
        }
        //5、获取栈中元素的个数
        Stack.prototype.size = function(){
            return this.items.length;
        }
        //6、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>

王超
42 声望1 粉丝

世间美好,与你环环相扣。