最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javaScript實現(xiàn)一個隊列的方法

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

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

2.創(chuàng)建一個隊列類

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

3.添加元素

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

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

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

5.查看隊列頭部元素

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

6.判斷隊列是否為空

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

7.清除隊列的元素

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

8.查看隊列的長度

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

9.查看隊列的所有內(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;//記錄隊列的數(shù)量
    this.lowestCount = 0;//記錄當(dāng)前隊列頂部的位置
    this.items = [];//用來存儲元素。
  }
  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.運行結(jié)果

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

相關(guān)文章

  • 獲取當(dāng)前網(wǎng)頁document.url location.href區(qū)別總結(jié)

    獲取當(dāng)前網(wǎng)頁document.url location.href區(qū)別總結(jié)

    請教:document.URL和window.location.href區(qū)別
    2008-05-05
  • JavaScript中兩種鏈?zhǔn)秸{(diào)用實現(xiàn)代碼

    JavaScript中兩種鏈?zhǔn)秸{(diào)用實現(xiàn)代碼

    方法鏈一般適合對一個對象進(jìn)行連續(xù)操作(集中在一句代碼)。一定程度上可以減少代碼量,缺點是它占用了函數(shù)的返回值。
    2011-01-01
  • JS實現(xiàn)判斷兩個日期不能跨年和跨月

    JS實現(xiàn)判斷兩個日期不能跨年和跨月

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript語言實現(xiàn)判斷兩個日期不能跨年和跨月,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04
  • 現(xiàn)代配置YAML對比JSON優(yōu)勢分析

    現(xiàn)代配置YAML對比JSON優(yōu)勢分析

    這篇文章主要為大家介紹了關(guān)于現(xiàn)代配置指南中YAML對比JSON的優(yōu)勢分析說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • 最新評論

    崇仁县| 赤壁市| 临汾市| 寻甸| 鄂尔多斯市| 洪湖市| 西青区| 广安市| 武乡县| 江陵县| 宜春市| 麻江县| 大同县| 林口县| 洛宁县| 鸡西市| 淄博市| 会理县| 吐鲁番市| 舒城县| 商丘市| 修文县| 城步| 望都县| 庆元县| 石城县| 栾川县| 车险| 青冈县| 封丘县| 丰城市| 库尔勒市| 武清区| 远安县| 鄯善县| 广安市| 福州市| 岢岚县| 丰都县| 江口县| 贡山|