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

Tạo hàng đợi trong Javascript


Mặc dù Mảng trong JavaScript cung cấp tất cả các chức năng của Hàng đợi, nhưng chúng ta hãy triển khai lớp Hàng đợi của riêng mình. Lớp của chúng ta sẽ có các chức năng sau -

  • enqueue (phần tử):Hàm thêm một phần tử vào hàng đợi.
  • dequeue ():Hàm xóa một phần tử khỏi hàng đợi.
  • peek ():Trả về phần tử từ phía trước hàng đợi.
  • isFull ():Kiểm tra xem chúng tôi đã đạt đến giới hạn phần tử trên hàng đợi hay chưa.
  • isEmpty ():kiểm tra xem hàng đợi có trống không.
  • clear ():Xóa tất cả các phần tử.
  • display ():hiển thị tất cả nội dung của mảng

Hãy bắt đầu bằng cách xác định một lớp đơn giản với một hàm tạo có kích thước tối đa của hàng đợi và một hàm trợ giúp sẽ giúp chúng ta khi chúng ta triển khai các hàm khác cho lớp này. Khi chúng tôi triển khai ngăn xếp, chúng tôi cũng sẽ triển khai hàng đợi bằng Mảng.

Ví dụ

class Queue {
   constructor(maxSize) {
      // Set default max size if not provided
      if (isNaN(maxSize)) {
         maxSize = 10;
       }
      this.maxSize = maxSize;
      // Init an array that'll contain the queue values.
      this.container = [];
   }
   // Helper function to display all values while developing
   display() {
      console.log(this.container);
   }
   // Checks if queue is empty
   isEmpty(){
      return this.container.length === 0;
   }
   // checks if queue is full
   isFull() {
      return this.container.length >= this.maxSize;
   }
}

Chúng tôi cũng đã định nghĩa thêm 2 hàm nữa là isFull và isEmpty để kiểm tra xem hàng đợi đã đầy hay còn trống.

Hàm isFull chỉ kiểm tra xem độ dài của vùng chứa có bằng hoặc hơn maxSize hay không và trả về tương ứng.

Hàm isEmpty kiểm tra xem kích thước của vùng chứa có bằng 0.

Những điều này sẽ hữu ích khi chúng tôi xác định các hoạt động khác. Các hàm mà chúng tôi xác định từ thời điểm này trở đi tất cả sẽ nằm bên trong lớp Hàng đợi.