JavaScriptを使用してPriorityQueueから要素をピークする
PriorityQueueをピークするということは、優先度が最も高い値を削除せずに取得することを意味します。したがって、次のようにピーク関数を実装できます&minusl
例
peek() { if (isEmpty()) { console.log("Queue Underflow!"); return; } return this.container[this.container.length - 1]; }
−
を使用して、この機能が正常に機能しているかどうかを確認できます。例
let q = new PriorityQueue(4); q.enqueue("Hello", 3); q.enqueue("World", 2); q.enqueue("Foo", 8); console.log(q.peek()); q.display();
出力
これにより、出力が得られます-
{ data: 'Foo', priority: 8 } [ { data: 'World', priority: 2 }, { data: 'Hello', priority: 3 }, { data: 'Foo', priority: 8 } ]
ここでわかるように、peek()は、削除せずにフロント値を返すだけであるという点でdequeueとは異なります。
-
Javascriptを使用してリンクリストに要素を追加する
リンクリストの特定の位置にデータを挿入する関数insert(data、position)を作成する必要があります。次の手順を実行します- 新しいノードを作成する リストが空かどうかを確認します。その後、ノードをヘッドに追加して戻ります。 そうでない場合は、currElemを使用して挿入する位置まで繰り返します。 currElemをcurrElem.nextと等しくすることにより、リンクリストを繰り返します。 次に、ノードがリスト内の次のノードを指すようにします。これは、リストの残りの部分を追跡するためです。 最後に、currElemからリストの残りの部分へのリンクを解除し、作成したノードを指
-
Javascriptを使用して二重リンクリストから要素を削除する
リンクリストでは、要素の削除は非常に簡単です。削除したいノードを取り除く必要があります。つまり、その参照を失います。考慮する必要がある3つのケースがあります- headから要素を削除する:この場合、head =head.nextを割り当てるだけで、次の要素から前のリンクを削除できます。このようにして、最初の要素の参照を失います。そして、頭が2番目の要素を指し始めます。 テールから要素を削除する:この場合、最後から2番目のノードのnode.nextをnullに割り当てるだけで、リストから最後の要素を削除できます。また、現在のノードを指すようにテールを更新します。 中間から要素を削除する:これ