欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javaScript實(shí)現(xiàn)一個(gè)隊(duì)列的方法

 更新時(shí)間:2020年07月14日 11:49:38   作者:放學(xué)別跑啊  
這篇文章主要介紹了javaScript實(shí)現(xiàn)一個(gè)隊(duì)列的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

1.隊(duì)列是遵循先進(jìn)先出(FIFO)原則的一組有序的項(xiàng),隊(duì)列在尾部添加元素,并從頂部移除元素,最新添加的元素必須排在隊(duì)列的末尾。生活中常見的例子如排隊(duì)等。

2.創(chuàng)建一個(gè)隊(duì)列類

class Queue{
  constructor(){
    this.count = 0;//記錄隊(duì)列的數(shù)量
    this.lowestCount = 0;//記錄當(dāng)前隊(duì)列頭部的位置
    this.items = [];//用來存儲(chǔ)元素。
  }
}

3.添加元素

 enqueue(element){
    this.items[this.count] = element;
    this.count++;
  }

4.刪除元素(只刪除隊(duì)列頭部)

dequeue(){
    if(this.isEmpty()){
      return 'queue is null';
    }
    let resulte = this.items[this.lowestCount];
    delete this.items[this.lowestCount];
    this.lowestCount++;
    return resulte;
  }

5.查看隊(duì)列頭部元素

  peek(){
    return this.items[this.lowestCount];
  }

6.判斷隊(duì)列是否為空

  isEmpty(){
    return this.count - this.lowestCount === 0;
  }

7.清除隊(duì)列的元素

  clear(){
    this.count = 0;
    this.lowestCount = 0;
    this.items = [];
  }

8.查看隊(duì)列的長(zhǎng)度

 size(){
    return this.count - this.lowestCount;
  }

9.查看隊(duì)列的所有內(nèi)容

toString(){
    if(this.isEmpty())return "queue is null";
    let objString = this.items[this.lowestCount];
    for(let i = this.lowestCount+1; i < this.count;i++){
      objString = `${objString},${this.items[i]}`;
    }
    return objString;
  }

10.完整代碼

class Queue{
  constructor(){
    this.count = 0;//記錄隊(duì)列的數(shù)量
    this.lowestCount = 0;//記錄當(dāng)前隊(duì)列頂部的位置
    this.items = [];//用來存儲(chǔ)元素。
  }
  enqueue(element){
    this.items[this.count] = element;
    this.count++;
  }
  dequeue(){
    if(this.isEmpty()){
      return 'queue is null';
    }
    let resulte = this.items[this.lowestCount];
    delete this.items[this.lowestCount];
    this.lowestCount++;
    return resulte;
  }
  peek(){
    return this.items[this.lowestCount];
  }
  isEmpty(){
    return this.count - this.lowestCount === 0;
  }
  size(){
    return this.count - this.lowestCount;
  }
  clear(){
    this.count = 0;
    this.lowestCount = 0;
    this.items = [];
  }
  toString(){
    if(this.isEmpty())return "queue is null";
    let objString = this.items[this.lowestCount];
    for(let i = this.lowestCount+1; i < this.count;i++){
      objString = `${objString},${this.items[i]}`;
    }
    return objString;
  }
}

11.運(yùn)行結(jié)果

以上就是javaScript實(shí)現(xiàn)一個(gè)隊(duì)列的方法的詳細(xì)內(nèi)容,更多關(guān)于javaScript實(shí)現(xiàn)一個(gè)隊(duì)列的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論