JavaScriptでのリンクリストの実装方法


まず、リンクリストのノードを表すオブジェクトを作成します。ノードには、データを格納するための値プロパティと、次のノードへの参照を持つnextプロパティが含まれます。

class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

次に、リンクリストを表すオブジェクトを作成します。このオブジェクトには、リンクリストの先頭ノードへの参照を持つheadプロパティが含まれます。また、リンクリストに対してさまざまな操作を行うためのメソッドも追加します。

class LinkedList {
  constructor() {
    this.head = null;
  }
// リンクリストの末尾にノードを追加するメソッド
  append(value) {
    const newNode = new Node(value);
    if (!this.head) {
      this.head = newNode;
    } else {
      let current = this.head;
      while (current.next) {
        current = current.next;
      }
      current.next = newNode;
    }
  }
// リンクリストの要素を表示するメソッド
  display() {
    let current = this.head;
    while (current) {
      console.log(current.value);
      current = current.next;
    }
  }
}

上記のコードでは、リンクリストにノードを追加するためのappendメソッドと、リンクリストの要素を表示するためのdisplayメソッドが実装されています。

以下は、リンクリストを使用する例です。

const list = new LinkedList();
list.append(5);
list.append(10);
list.append(15);
list.display(); // 結果: 5, 10, 15

これで、JavaScriptでリンクリストを実装する方法といくつかのコード例がわかりました。リンクリストは、要素の追加や削除が容易であり、データの挿入や削除が頻繁に行われる場合に特に有用です。