JavaScript-實現數據結構-隊列

隊列是先進先出(FIFO First In First Out),也是一種受限的線性結構。前端

只容許在隊列的前端進行刪除操做,在隊列的後端進行插入操做。後端

<script>
function Queue(){
    //隊列的屬性
    this.items = [];
    
    //方法
    //一、將元素添加到隊列中
    Queue.prototype.enqueue = function(element){
        this.item.push(element);
    }   
    //二、從隊列中刪除前端元素
    Queue.prototype.dequeue = function(){
        return this.items.shift();
    } 
    //三、查看隊列前端的元素
    Queue.prototype.front = function(){
        return this.items[0];
    }
    //四、查看隊列是否爲空
    Queue.prototype.length = function(){
        return this.items.length == 0;
    }
    //五、查看隊列中元素的個數
    Queue.prototype.size = function(){
        return this.items.length;
    }
    //六、toString方法
    Queue.prototype.toString = function(){
        var resultString = '';
        for(var i=0;i<this.items.length;i++){
            resultString += this.item[i] + '';
        }
        return resultString;
    }
}

//使用隊列
var queue = new Queue();

//將元素加入到隊列中
queue.enqueue('abc');
queue.enqueue('bcd');
queue.enqueue('efd');

alert(queue);

//從隊列中刪除元素
queue.dequeue('abc');
alert(queue);
</script>
相關文章
相關標籤/搜索