Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Queue class
- class Queue {
- // Array is used to implement queue
- constructor() {
- this.items = [];
- }
- // enqueue function
- enqueue(element) {
- // Adding element to the queue
- this.items.push(element);
- }
- // dequeue function
- dequeue() {
- // removing element from the queue
- // return underflow when called
- // on empty queue
- if (this.isEmpty()) {
- return "Underflow";
- }
- return this.items.shift();
- }
- // front function
- front() {
- // return the front element of
- // the queue without removing it
- if (this.isEmpty()); {
- return 'No elements in Queue';
- }
- return this.items[0];
- }
- // isEmpty function
- isEmpty() {
- // return true if queue is empty
- return this.items.length == 0;
- }
- // printQueue function
- printQueue() {
- return this.items;
- }
- }
- var queue = new Queue();
- var bool = true;
- while (bool) {
- var userInput = prompt('Enter Choice (enqueue, dequeue, front, end, print)...');
- switch (userInput.toLowerCase()) {
- case 'enqueue':
- {
- queue.enqueue(prompt('Enter Element'));
- break;
- }
- case 'dequeue':
- {
- if (queue.isEmpty()) {
- alert('Queue is Empty!!');
- } else {
- alert(`Dequeued Element : ${queue.dequeue()}`);
- }
- break;
- }
- case 'front':
- {
- if (queue.isEmpty()) {
- alert(`Queue is Empty!!`);
- } else {
- alert(`Front element of Queue : ${queue.front()}`);
- }
- break;
- }
- case 'end':
- {
- bool = false;
- break;
- }
- case 'print':
- {
- alert(queue.printQueue());
- break;
- }
- default:
- bool = confirm('Invalid Choice!! Do you want to try again...');
- }
- }
- // Print Queue
- if (queue.isEmpty()) {
- document.write(`Queue is Empty!!`);
- } else {
- document.write(`Queue : ${queue.printQueue()}`);
- }
Add Comment
Please, Sign In to add comment