rakesh830566

Queue.js

Jun 19th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Queue class
  2. class Queue {
  3.     // Array is used to implement queue
  4.     constructor() {
  5.         this.items = [];
  6.     }
  7.  
  8.     // enqueue function
  9.     enqueue(element) {
  10.         // Adding element to the queue
  11.         this.items.push(element);
  12.     }
  13.  
  14.     // dequeue function
  15.     dequeue() {
  16.         // removing element from the queue
  17.         // return underflow when called
  18.         // on empty queue
  19.         if (this.isEmpty()) {
  20.             return "Underflow";
  21.         }
  22.         return this.items.shift();
  23.     }
  24.  
  25.     // front function
  26.     front() {
  27.         // return the front element of
  28.         // the queue without removing it
  29.         if (this.isEmpty()); {
  30.             return 'No elements in Queue';
  31.         }
  32.         return this.items[0];
  33.     }
  34.  
  35.     // isEmpty function
  36.     isEmpty() {
  37.         // return true if queue is empty
  38.         return this.items.length == 0;
  39.     }
  40.  
  41.     // printQueue function
  42.     printQueue() {
  43.         return this.items;
  44.     }
  45. }
  46.  
  47. var queue = new Queue();
  48. var bool = true;
  49. while (bool) {
  50.     var userInput = prompt('Enter Choice (enqueue, dequeue, front, end, print)...');
  51.     switch (userInput.toLowerCase()) {
  52.         case 'enqueue':
  53.             {
  54.                 queue.enqueue(prompt('Enter Element'));
  55.                 break;
  56.             }
  57.         case 'dequeue':
  58.             {
  59.                 if (queue.isEmpty()) {
  60.                     alert('Queue is Empty!!');
  61.                 } else {
  62.                     alert(`Dequeued Element : ${queue.dequeue()}`);
  63.                 }
  64.                 break;
  65.             }
  66.         case 'front':
  67.             {
  68.                 if (queue.isEmpty()) {
  69.                     alert(`Queue is Empty!!`);
  70.                 } else {
  71.                     alert(`Front element of Queue : ${queue.front()}`);
  72.                 }
  73.                 break;
  74.             }
  75.         case 'end':
  76.             {
  77.                 bool = false;
  78.                 break;
  79.             }
  80.         case 'print':
  81.             {
  82.                 alert(queue.printQueue());
  83.                 break;
  84.             }
  85.         default:
  86.             bool = confirm('Invalid Choice!! Do you want to try again...');
  87.     }
  88. }
  89.  
  90. // Print Queue
  91. if (queue.isEmpty()) {
  92.     document.write(`Queue is Empty!!`);
  93. } else {
  94.     document.write(`Queue : ${queue.printQueue()}`);
  95. }
Add Comment
Please, Sign In to add comment