
Node.jsでスタックを実装しよう!
スタックは、LIFO(Last In, First Out) 方式でデータを管理するデータ構造です。プログラミングにおいて、スタックは非常に基本的なデータ構造であり、再帰処理やブラウザの履歴、文字列操作などでよく使われます。この記事では、Node.jsを使ってスタックをゼロから実装し、その使い方や応用例を紹介します。
1. スタックの基本操作
スタックには次の基本操作があります
push: 要素を追加する。
pop: 最後に追加した要素を取り出す。
isEmpty: スタックが空かどうかを確認する。
2. スタックの実装
Node.jsで配列を使い、スタックを簡単に作ることができます。
stack.jsというファイルにプログラムを書きましょう。
class Stack {
constructor() {
this.items = [];
}
push(element) {
this.items.push(element);
}
pop() {
return this.items.pop();
}
isEmpty() {
return this.items.length === 0;
}
}
export default Stack;
3. スタックの使い方
スタックを使って、文字列を逆順にするプログラムを書いてみましょう。
run.jsというファイルにプログラムを保存します。
import Stack from "./stack.js";
function reverseString(str) {
const stack = new Stack();
for (let char of str) {
// スタックに文字を追加する
stack.push(char);
}
let reversed = "";
while (!stack.isEmpty()) {
// スタックが空になるまで文字を取り出す
reversed += stack.pop();
}
return reversed;
}
console.log(reverseString("Node.js"));
4. 実行する
Node.jsの環境構築は、こちらを確認してください。
下記のコマンドで、プログラムを実行します
node run.js
sj.edoN と表示されれば成功です!
まとめ
スタックはシンプルですが、文字列操作や括弧チェックなど多くの場面で使われます。Node.jsを使えば、簡単に実装して応用できます。ぜひ試してみてください!