通过队列循环换位

本文详细介绍了队列这一基本数据结构的实现方法,包括入队、出队、查看队首和队尾元素等核心操作,并通过JavaScript代码示例展示了队列的使用。同时,文章还提供了一个队列循环输出的实例,帮助读者理解队列在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function Queue() {
    this.dataStore = [];
    this.enqueue = enqueue;
    this.dequeue = dequeue;
    this.front = front;
    this.back = back;
    this.toString = toString;
    this.empty = empty;
}

//入队,就是在数组的末尾添加一个元素
function enqueue(element) {
    this.dataStore.push(element);
}

//出队,就是删除数组的第一个元素
function dequeue() {
    return this.dataStore.shift();
}

//取出数组的第一个元素
function front() {
    return this.dataStore[0];
}

//取出数组的最后一个元素
function back() {
    return this.dataStore[this.dataStore.length - 1];
}

function toString() {
    var retStr = "";
    for (var i = 0; i < this.dataStore.length; ++i) {
        retStr += this.dataStore[i] + "&nbsp;"
    }
    return retStr;
}

//判断数组是否为空
function empty() {
    if (this.dataStore.length == 0) {
        return true;
    } else {
        return false;
    }
}

//返回数组中元素的个数
function size() {
    return queue.dataStore.length;
}

/**
 * 队列循环输出
 * @type {Queue}
 */
let queue = new Queue();
queue.enqueue('1');
queue.enqueue('2');
queue.enqueue('3');

let i = 0;

function sleep() {
    setTimeout(function () {
        if (i >= 5)
            return;
        console.log(queue.dataStore);
        i += 1;
        console.log('计数:', i)
        let col = queue.dequeue();//返回删除掉的元素
        console.log(col,'删除的元素')
        queue.enqueue(col);
        sleep();
    }, 1000)
}

sleep();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值