-
Javascriptのリンクリストクラス
これがLinkedListクラスの完全な実装です- 例 class LinkedList { constructor() { this.head = null; this.length = 0; } insert(data, position = this.length) { let node = new this.Node(data); if (th
-
Javascriptで二重にリンクされたリスト
二重にリンクされたリストは、すべての操作で単一にリンクされたリストとほぼ同じです。ノードごとに1つの追加リンクを追跡する必要があります。単一リンクリストでは、次のリンクがあり、二重リンクリストでは、次と前の2つのリンクがあります。 二重にリンクされたリストは、-として表されます。 クラス自体では、テール(最後の要素)も追跡する必要があることに注意してください。
-
Javascriptを使用した二重リンクリストの作成
先頭と末尾をnullに初期化するコンストラクターを使用して、単純なクラスを定義することから始めましょう。また、リンクリスト内の各ノードを表すDoublyLinkedListクラスのプロトタイプに別の構造を定義します。 例 class LinkedList { constructor() { this.head = null; this.tail = null; this.length = 0; } } LinkedL
-
Javascriptを使用して二重リンクリストに要素を挿入する
リンクリストの特定の位置にデータを挿入する関数insert(data、position)を作成する必要があります。次の手順を実行します- 新しいノードを作成する リストが空かどうかを確認します。その後、ノードをヘッドとテールに追加して戻ります。 そうでない場合は、currElemを使用して挿入する位置まで繰り返します。 currElemをcurrElem.nextと等しくすることにより、リンクリストを繰り返します。 次に、次の方法でリンクを変更します- 新しいノードがリスト内の次のノードを指すようにします 次のノードの前のポイントを新しいノードに変更します ノードが前のノードを指すよう
-
Javascriptでキューの要素をクリアする
コンテナ要素を空の配列に再割り当てするだけで、コンテンツをクリアできます。たとえば、 clear() { this.container = []; } 例 この機能が正常に機能しているかどうかは、次を使用して確認できます: let q = new Queue(2); q.enqueue(3); q.enqueue(4); q.display(); q.clear(); q.display(); 出力 これにより出力が得られます: [ 3, 4 ] [ ]
-
Javascriptのキュークラス
これがQueueクラスの完全な実装です- 例 class Queue { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize;
-
Javascriptの優先キュー
優先度付きキューは、通常のキューやスタックデータ構造に似た抽象データ型ですが、さらに各要素に「優先度」が関連付けられています。優先度キューでは、優先度の高い要素が優先度の低い要素の前に提供されます。 2つの要素の優先度が同じである場合、それらはキュー内の順序に従って提供されます。 優先キューを実装する方法はたくさんあります。アレイを使用して実装します。
-
Javascriptを使用した優先キューの作成
クラスには次の関数があります- enqueue(element):キューに要素を追加する関数。 dequeue():キューから要素を削除する関数。 peek():キューの先頭から要素を返します。 isFull():キューの要素制限に達したかどうかを確認します。 isEmpty():キューが空かどうかを確認します。 clear():すべての要素を削除します。 display():配列のすべての内容を表示します キューの最大サイズを取得するコンストラクターと、このクラスの他の関数を実装するときに役立つヘルパー関数を使用して、単純なクラスを定義することから始めましょう。また、Pr
-
Javascriptを使用してPriorityQueueに要素を追加する
PriorityQueueに要素をエンキューするということは、要素の優先度の順に要素を配列に追加することを意味します。数値が大きいほど優先度が高いと見なされます。優先度の低いものが見つかるまでコンテナをループし、そこに要素を追加します。そうでない場合は、コンテナの最後にプッシュします。 データと優先度を使用して要素オブジェクトを作成していることに注意してください。したがって、次のようにエンキュー関数を実装できます- 例 enqueue(data, priority) { // Check if Queue is full if (this.i
-
Javascriptを使用してPriorityQueueから要素を削除します
PriorityQueueから要素をデキューすることは、最も優先度の高い要素を削除することを意味します。配列の最後に最も優先度の高い要素を格納しているので、ポップしてデキューするだけです。 したがって、デキュー機能は次のように実装できます- 例 dequeue() { // Check if empty if (this.isEmpty()) { console.log("Queue Underflow!"); return; &n
-
JavaScriptを使用してPriorityQueueから要素をピークする
PriorityQueueをピークするということは、優先度が最も高い値を削除せずに取得することを意味します。したがって、次のようにピーク関数を実装できます&minusl 例 peek() { if (isEmpty()) { console.log("Queue Underflow!"); return; } return this.container[this.container.length - 1]; }
-
Javascriptを使用してPriorityQueueの要素をクリアする
コンテナ要素を空の配列に再割り当てするだけで、コンテンツをクリアできます。たとえば、 clear() { this.container = []; } 例 − を使用して、この機能が正常に機能しているかどうかを確認できます。 let q = new PriorityQueue(4); q.enqueue("Hello", 3); q.enqueue("World", 2); q.enqueue("Foo", 8); q.display(); q.clear(); q.display(); 出力 これにより
-
JavascriptのPriorityQueueクラス
これがPriorityQueueクラスの完全な実装です- 例 class PriorityQueue { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxS
-
Javascriptのリンクリストデータ構造
リンクリストは、リンクを介して相互に接続された一連のデータ構造です。 リンクリストは、アイテムを含む一連のリンクです。各リンクには、別のリンクへの接続が含まれています。これは、最も使用されているデータ構造の1つです。リンクリストを作成するときに使用する用語がいくつかあります。 ノード: これは、リンクリストの各要素を表します。データと次の2つの部分で構成されています。データには保存する予定のデータが含まれ、nextにはリスト内の次の要素への参照が含まれます。 リンク: 次の各参照はリンクです。 H ead: 最初の要素への参照は先に呼び出されます。
-
Javascriptで要素をスタックにプッシュする
小さなヘルパー関数がいくつかあるJavascriptの次のスタッククラスを検討してください。 例 class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.
-
Javascriptでスタックから要素をポップする
Javascriptの単純なスタッククラスを検討してください。 例 class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSi
-
Javascriptのスタックから要素をのぞく
Javascriptの単純なスタッククラスを考えてみましょう。 例 class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxS
-
Javascriptでスタックの要素をクリアする
Javascriptの単純なスタッククラスを考えてみましょう。 例 class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxS
-
Javascriptのスタッククラス
これがStackクラスの完全な実装です- 例 class Stack { constructor(maxSize) { // Set default max size if not provided if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize; // Init an array that'll
-
Javascriptのキューデータ構造
キューは抽象的なデータ構造であり、スタックにいくぶん似ています。スタックとは異なり、キューは両端で開いています。一方の端は常にデータの挿入(エンキュー)に使用され、もう一方の端はデータの削除(デキュー)に使用されます。キューは先入れ先出し方式に従います。つまり、最初に保存されたデータ項目が最初にアクセスされます。 キューの実際の例としては、車両が最初に進入し、最初に退出する単一車線の一方通行道路があります。 次の図は、キューがどのように機能するかを示しています-