Skip to content

Instantly share code, notes, and snippets.

@rshivkumar95
Last active July 21, 2019 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rshivkumar95/edcf93e4388514faa6724d7b12f1bbae to your computer and use it in GitHub Desktop.
Save rshivkumar95/edcf93e4388514faa6724d7b12f1bbae to your computer and use it in GitHub Desktop.
Queue Implementation using ES6
class Queue {
constructor() {
this.items = [];
}
enqueue(data) {
this.items.push(data);
}
dequeue() {
if(this.isEmpty()){
return "Error : Underflow"
}
const deletedItem = this.items[0];
this.items.shift();
return deletedItem;
}
front() {
if(this.isEmpty()){
return "Error : Empty"
}
return this.items[0];
}
printQueue() {
let queueString = '';
this.items.forEach(function(item){
queueString += item + " ";
});
return queueString;
}
isEmpty() {
return this.items.length === 0;
}
}
const queue = new Queue();
console.log('DEQUEUE :: ' + queue.dequeue());
queue.enqueue(1);
queue.enqueue(2);
console.log('FRONT :: ' + queue.front());
queue.enqueue(3);
queue.enqueue(4);
console.log('DEQUEUE :: ' + queue.dequeue());
queue.enqueue(5);
queue.enqueue(6);
console.log('DEQUEUE :: ' + queue.dequeue());
queue.enqueue(7);
console.log('FRONT :: ' + queue.front());
console.log('QUEUE :: ' + queue.printQueue());
"DEQUEUE :: Error : Underflow"
"FRONT :: 1"
"DEQUEUE :: 1"
"DEQUEUE :: 2"
"FRONT :: 3"
"QUEUE :: 3 4 5 6 7 "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment