Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

队列 #53

Open
wl05 opened this issue Sep 4, 2019 · 0 comments
Open

队列 #53

wl05 opened this issue Sep 4, 2019 · 0 comments

Comments

@wl05
Copy link
Owner

wl05 commented Sep 4, 2019

队列的特点:先进先出 (FIFO / First In First Out),先进入队列的元素最先出队列,入队操作只能在队尾进行,出队操作只能在队首进行,js中我们可以使用数组来实现队列。

class Queue {
    items = []
    // 进栈
    enqueue(val){
        this.items.push(val)
    }
    // 出栈
    dequeue(){
        this.items.shift()
    }
    // 清空队列
    clear(){
        this.items = []
    }
    // 获取队首元素
    get front(){
        return this.items[0]
    }
    // 获取队列大小
    get size(){
        return this.items.length
    }
    // 判断队列是否为空
    get isEmpty(){
        return !this.items.length
    }
    // 打印队列
    print(){
        console.log(this.items.toString())
    }
}

const queue = new Queue()
console.log("====初始化====")
console.log(queue.isEmpty,queue.size)
console.log("==============")
console.log("====入队操作====")
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
console.log("==============")
console.log("====判断是否为空====")
console.log(queue.isEmpty,queue.size)
queue.print()
console.log("==============")
console.log("====出队操作====")
queue.dequeue()
console.log(queue.isEmpty,queue.size)
queue.print()
console.log("==============")
console.log("====清空队列====")
queue.clear()
console.log(queue.isEmpty,queue.size)
console.log("==============")

// ====初始化====
//     true 0
// ==============
// ====入队操作====
// ==============
// ====判断是否为空====
//     false 4
// 1,2,3,4
// ==============
// ====出队操作====
//     false 3
// 2,3,4
// ==============
// ====清空队列====
//     true 0
// ==============
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant