数据结构之 JavaScript实现队列

队列是一种特殊线性表,它允许在表的前段(front)进行删除操作,在后端(back)进行插入操作,是一种先入先出的数据结构;进行插入操作的叫对尾,进行删除操作的叫对头。


队列的主要操作有:插入新元素(入队),删除队列的元素(出队),入队操作在对位插入新元素,出队操作在对头删除新元素。下图所示:



JavaScript代码实现:

 function Queue(array) {
    if (array instanceof Array) {
        this.dataArray = array;
    }else{
        throw "'"+array+"' is not an Array";
    }
};
Queue.prototype = {
    EnQueue: function (element) {//入队
        this.dataArray.push(element);
    },
    DeQueue: function () {//出队
        return this.dataArray.shift();
    },
    Front: function () {//返回队列的第一个元素
        return this.dataArray[0];
    },
    Back: function () {//返回队列的最后一个元素
        return this.dataArray[this.dataArray.length - 1];
    },
    ToString: function () {
        return this.dataArray.join(",");
    },
    IsEmpty: function () {
        return this.dataArray.length == 0;
    }
};
var queue = new Queue(['a','b','c']);
alert(queue.ToString());
queue.EnQueue("d");
alert(queue.ToString());
queue.DeQueue();
alert(queue.ToString());
alert(queue.DeQueue());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值