// 一般的なキュー クラス{キュー・ コンストラクタ(){ この .LIST = []; } // エンキュー ENQUEUE(項目){ この.list.push(項目); } // デキュー デキュー(){ 戻り 、この.LISTを.shift(); } // 最初の要素値 getFrontが(){ 戻り 、この .LIST [0 ]; } // 長さ のgetSize()を{ 戻り これを .list.lengthと、 } //は空である GetIsEmpty(){ 戻り 、この .list.lengthの== 0 ; } // クリア クリア(){ この .LIST = ; [] } // 読み取り素子 を読む(){ にconsole.log(これを。 list.toString()); } } QueueTestはせ = 新しい新)は、キュー(; queueTest.GetIsEmpty(); // trueに 。queueTest.EnQueue(1 ); queueTest.EnQueue( 2 )。 queueTest.EnQueue( 3 ;) queueTest.Read(); // 1,2,3 queueTest.Dequeue(); // 1 queueTest.Read(); // 2,3 // プライオリティキュー:1:高齢者そして妊娠中の女性(または子供を持つ女性)優先搭乗時にも他の乗客の上に楽しむ; // 医師が患者でより深刻な病気を優先させて頂きます PriorityQueueクラス{ コンストラクタ(){ この .LIST = []; } // エンキュー エンキュー(項目、優先){ VARの F = {アイテム:商品、指数:優先}; IF(この .list.length == 0) この.list.push(F)。 他{ VARの位置= この .list.findIndex(X => x.index> f.index)。 もし(位置== -1 ) この.list.push(F)。 そうでなければ この .list.splice(位置、0 、F)。 } } // 出队 デキュー(){ 戻り 、この)(.list.shiftします。 } // 第一个元素值 GetFront(){ 戻り この .LIST [0 ]; } // 長さ のgetSize(){ 戻り 、この.list.lengthを; } //は空である GetIsEmpty(){ 戻り 、この .list.lengthの== 0 ; } // クリア クリア() { この .LIST = []; } // 読み取り要素 リード(){ にconsole.log(この.LIST); } } VAR優先度つきキュー= 新しい優先度つきキュー(); priorityQueue.GetIsEmpty(); // 真; priorityQueue.EnQueue(1、1 )。 priorityQueue.EnQueue( 2、2 ); priorityQueue.EnQueue( 22、3 )。 priorityQueue.EnQueue( 22、5 )。 priorityQueue.Read(); // [{アイテム:1、インデックス:1}、{アイテム:2、インデックス:2}、{アイテム:22、インデックス:3}、{アイテム:22、インデックス:5}] priorityQueue.EnQueue(33、4 ); priorityQueue.Read(); // [{アイテム:1、インデックス:1}、{アイテム:2、インデックス:2}、{アイテム:22、インデックス:3}、{アイテム:22、インデックス:4}、{アイテム:22、インデックス: 5}] ; priorityQueue.Dequeue()// {アイテム:. 1、インデックス:. 1} // サイクルキュー // バット円として想像ベクトル空間:「false」にあふれる方法を克服するために、ベクトル空間を最大限に活用しますリング、およびこのようなベクターのような環状ベクターを言います。 LoopQueue {キュークラスの拡張 コンストラクタ(項目){ スーパー(項目) } getIndex(インデックス){ constの長さ = この.list.lengthの リターン・インデックス>長さ(?%インデックスの長さ):インデックス } 検索(インデックス){ 返す!これを。 ?のisEmpty この .LIST [ この .getIndex(インデックス)]:ヌル } } VARの loopQueue = 新しいLoopQueue()。 loopQueue.EnQueue( 1 )。 loopQueue.EnQueue( 2 )。 loopQueue.EnQueue( 3 )。 loopQueue.Read(); // 1,2,3 loopQueue.find(7)。// 2