1. 程式人生 > >javascript實現數據結構----棧

javascript實現數據結構----棧

peek 有序 javascrip items 修改 添加 數據結構 java turn

   //棧是一種遵從後進先出原則的有序集合。
    //新添加的或待刪除的元素都保存在棧的末尾,稱作棧頂,另一端就叫棧底
    //在棧裏,新元素都靠近棧頂,舊元素都叫做棧底
    function Stack(){
        var items=[];
        //添加一個元素到棧頂
        this.push=function(element){
            items.push(element)
        };
        //移除棧頂的元素,同時返回被移除的元素
        this.pop=function(){
            return items.pop();
        }
        //返回棧頂的元素,不對棧做任何修改
        this.peek=function(){
            return items[itmes.length-1];
        }
        //判斷棧是否為空
        this.isEmpty=function(){
            return items.length==0;
        }
        //返回棧裏元素的個數
        this.size=function(){
            return items.length;
        }
        //移除棧裏的所有元素
        this.clear=function(){
            items=[];
        }
        //打印棧裏的所有元素
        this.print=function(){
            console.log(items.toString())
        }
    }
    var stack=new Stack();
    stack.push(5);
    stack.push(4);
    stack.push(3);
    stack.print()
    stack.pop()
    stack.print()

  

javascript實現數據結構----棧