配列とスタック:push/pop
配列メソッドの基礎
JavaScript初心者にとって、配列はデータをまとめて扱う基本的なコレクションです。配列メソッドは、配列に対して追加・削除・検索・変換などの操作を簡単に行えるように設計されています。代表的なメソッドとして push、pop、shift、unshift があります。これらはそれぞれ末尾への追加・削除、先頭への追加・削除を行うため、スタックやキューといったデータ構造を手軽に実装できます。
配列の push は末尾に要素を追加し、追加後の配列長を返します。逆に pop は末尾の要素を削除し、その要素を返します。shift は先頭の要素を削除し、unshift は先頭に要素を追加します。これらのメソッドは配列を直接変更するため、操作のたびに新しい配列を作る必要がありません。
スタックの実装
スタックは「後入れ先出し(LIFO)」のデータ構造です。JavaScriptの配列を使えば、push と pop だけで簡単にスタックを実装できます。以下は最小限のスタッククラスの例です。
class Stack {
constructor() {
this.items = [];
}
push(item) {
this.items.push(item);
}
pop() {
return this.items.pop();
}
peek() {
return this.items[this.items.length - 1];
}
isEmpty() {
return this.items.length === 0;
}
}
このクラスは配列メソッドを内部で利用しており、追加・削除の操作はすべて O(1) で実行されます。スタックはブラウザの履歴管理や再帰処理の実装など、さまざまな場面で活躍します。
キューの操作
キューは「先入れ先出し(FIFO)」のデータ構造です。配列の shift と unshift を組み合わせることで、キューを実装できます。以下は簡易的なキュークラスです。
class Queue {
constructor() {
this.items = [];
}
enqueue(item) {
this.items.unshift(item); // 先頭に追加
}
dequeue() {
return this.items.pop(); // 末尾から削除
}
peek() {
return this.items[this.items.length - 1];
}
isEmpty() {
return this.items.length === 0;
}
}
この実装では、unshift で先頭に要素を追加し、pop で末尾から要素を取り出すことで FIFO を保っています。配列メソッドを活用することで、コレクションの追加・削除を直感的に行えるようになります。
コメント
コメントを投稿