Js算法中的队列

125 阅读1分钟

1,队列的结构

2,队列的常见操作

  • enqueue(element):向队列尾部添加一个或多个新的元素
  • dequeue():移除队列的第一项,并返回被移除的元素
  • front():返回队列中第一个元素——最先被添加,也先是最先被移除的元素,队列不做任何变动(不移除元素,只返回元素信息)
  • isEmpty():队列为空时返回true,否则返回false
  • size():返回队列的元素个数,与数组的Length属性一样
  • toString():将队列中的内容,转换成字符串形式

3,队列的实现

class Queue{
  constructor(){
    this.items=[]
  }
  //将元素加入到队列
  enqueue(element){
    this.item.push(element)
  }
  //将队列中删除前面元素
  dequeue(){
    return this.items.shift()
  }
  //查看前面的元素
  front(){
    return this.items[0]
  }
  //查看队列是否为空
  isEmpty(){
    return this.items.length
  }
  //查看元素的个数
  size(){
    return this.items.length
  }
  //toString方法
  toString(){
    var resultString=''
    for(var i=0;i<this.items.length;i++){
      resultString+=this.items[i]+" "
    }
    return resultString
  }
}