Javascriptで要素をスタックにプッシュする
例
class Stack {
constructor(maxSize) {
// Set default max size if not provided
if (isNaN(maxSize)) {
maxSize = 10;
}
this.maxSize = maxSize; // Init an array that'll contain the stack values.
this.container = [];
}
// A method just to see the contents while we develop this class
display() {
console.log(this.container);
}
// Checking if the array is empty
isEmpty() {
return this.container.length === 0;
}
// Check if array is full
isFull() {
return this.container.length >= maxSize;
}
} ここでisFull 関数は、コンテナの長さがmaxSize以上であるかどうかをチェックし、それに応じて返します。 isEmpty 関数は、コンテナのサイズが0かどうかをチェックします。
このセクションでは、このクラスにPUSH操作を追加します。要素をスタックにプッシュするということは、それらを配列の一番上に追加することを意味します。コンテナ配列に関するすべての操作を実行するため、コンテナ配列の最後を配列の先頭にします。したがって、次のようにプッシュ関数を実装できます-
例
push(element) {
// Check if stack is full
if (this.isFull()) {
console.log("Stack Overflow!");
return;
}
this.container.push(element);
} この関数が正常に機能しているかどうかは、-
を使用して確認できます。例
let s = new Stack(2); s.display(); s.push(10); s.push(20); s.push(30); s.display();
出力
これにより、出力が得られます-
[] Stack Overflow! [ 10, 20 ]
-
Javascriptを使用してキューに要素を追加する
要素をキューにエンキューするということは、それらを配列の最後に追加することを意味します。コンテナ配列の最後をキューの末尾にします。これは、コンテナ配列に関してすべての挿入操作を実行するためです。 したがって、次のようにエンキュー関数を実装できます- 例 enqueue(element) { // Check if Queue is full if (this.isFull()) { console.log("Queue Overflow!");
-
JavaScriptでのスタックの実装
以下は、JavaScriptでスタックを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>