码迷,mamicode.com
首页 > 其他好文 > 详细

队列的实现

时间:2020-01-27 12:35:26      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:http   class   lse   str   const   ons   front   pre   exp   

技术图片
技术图片
技术图片

export default class MyCricularQueue {
  constructor (k) {
    // 保存数据长度为k的长度
    this.list = Array(k)
    this.front = 0
    this.rear = 0
    this.max = k
  }
  enQueue (v) {
    if (this.isFull()) {
      return false
    } else {
      this.list[this.rear] = v
      this.rear = (this.rear + 1) % this
      return true
    }
  }
  deQueue () {
    let v = this.list[this.front]
    this.list[this.front] = ''
    this.front = (this.front + 1) % this.max
    return v
  }
  isEmpty () {
    return this.front === this.rear && !this.list[this.front]
  }
  isFull () {
    return this.front === this.rear && this.list[this.front]
  }
  Front () {
    return this.list[this.front]
  }
  Rear () {
    let rear = this.rear - 1
    return this.list[rear < 0 ? this.max - 1 : rear]
  }
}

队列的实现

标签:http   class   lse   str   const   ons   front   pre   exp   

原文地址:https://www.cnblogs.com/ygjzs/p/12235556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!