Computer >> Máy Tính >  >> Lập trình >> Javascript

Đẩy các phần tử vào một Ngăn xếp trong Javascript


Hãy xem xét lớp ngăn xếp sau trong Javascript với một vài hàm trợ giúp nhỏ.

Ví dụ

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;
   }
}

Đây là isFull hàm chỉ kiểm tra xem độ dài của vùng chứa bằng hoặc hơn maxSize hay không và trả về tương ứng. isEmpty chức năng kiểm tra xem kích thước của vùng chứa là 0.

Trong phần này, chúng ta sẽ thêm thao tác PUSH trong lớp này. Đẩy các phần tử vào một Ngăn xếp có nghĩa là thêm chúng vào đầu mảng. Chúng tôi đang lấy phần cuối của mảng vùng chứa làm phần đầu của mảng vì chúng tôi sẽ thực hiện tất cả các hoạt động liên quan đến nó. Vì vậy, chúng ta có thể triển khai hàm push như sau -

Ví dụ

push(element) {
   // Check if stack is full
   if (this.isFull()) {
      console.log("Stack Overflow!");
      return;
   }
   this.container.push(element);
}

Bạn có thể kiểm tra xem chức năng này có hoạt động tốt hay không bằng cách sử dụng -

Ví dụ

let s = new Stack(2);
s.display();
s.push(10);
s.push(20);
s.push(30);
s.display();

Đầu ra

Điều này sẽ cung cấp đầu ra -

[]
Stack Overflow!
[ 10, 20 ]