Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Javascriptで要素をスタックにプッシュする


小さなヘルパー関数がいくつかある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 ]

  1. Javascriptを使用してキューに要素を追加する

    要素をキューにエンキューするということは、それらを配列の最後に追加することを意味します。コンテナ配列の最後をキューの末尾にします。これは、コンテナ配列に関してすべての挿入操作を実行するためです。 したがって、次のようにエンキュー関数を実装できます- 例 enqueue(element) {    // Check if Queue is full    if (this.isFull()) {       console.log("Queue Overflow!");    

  2. 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>