目次
1. はじめに
JavaScriptで連結リスト内の値を検索する方法を学ぶための記事です。
2. 連結リストとは
連結リストは、各ノードがデータと次のノードへのリンクを持つデータ構造です。リストの先頭はヘッドと呼ばれ、リストの最後はnullにリンクされています。
3. JavaScriptでの連結リストの実装
JavaScriptで連結リストを実装するには、NodeクラスとLinkedListクラスを作成します。Nodeクラスはデータと次のノードへのリンクを持ち、LinkedListクラスはヘッドノードとリスト操作のメソッドを持ちます。
class Node { constructor(data, next = null) { this.data = data; this.next = next; } } class LinkedList { constructor() { this.head = null; } }
4. コード例: 連結リスト内の値を検索する
次に、連結リスト内の値を検索するメソッドをLinkedListクラスに追加します。
class LinkedList { // ... find(value) { let current = this.head; while (current !== null) { if (current.data === value) { return current; } current = current.next; } return null; } }
5. 応用例
ここでは、このアプローチを応用したいくつかのコード例を示します。
- 連結リスト内の全ての値を表示する:
class LinkedList { // ... display() { let current = this.head; while (current !== null) { console.log(current.data); current = current.next; } } }
- 連結リスト内の値を逆順に表示する:
class LinkedList { // ... displayReverse(node = this.head) { if (node === null) return; this.displayReverse(node.next); console.log(node.data); } }
- 連結リストから特定の値を持つノードを削除する:
class LinkedList { // ... remove(value) { if (this.head === null) return; if (this.head.data === value) { this.head = this.head.next; return; } let current = this.head; while (current.next !== null) { if (current.next.data === value) { current.next = current.next.next; return; } current = current.next; } } }
6. まとめ
この記事では、JavaScriptで連結リスト内の値を検索する方法について説明しました。連結リストを理解し、適切に使用することで、効率的なコードを書くことができます。