JavaScript Data Structures: What Is A Queue + Example Code
By: Jeff Lewis
2 min readNov 12, 2019
Github:
- Repository: data-structures-review
- File: queue.js
1. What Is A Queue?
A. Queue Definition:
A Queue is Linear Data Structure where data elements are arranged sequentially in an array.
Stacks and Queues are similar, but Queues use the process of FIFO (First In, First Out). To achieve this, the push and shift Javascript methods are used to create a Queue class in Javascript.
B. Time Complexity:
- Access: O(n)
- Search: O(n)
- Insert: O(1)
- Delete: O(1)
C. Space Complexity:
- O(n)
2. Queue Example Code
The code provided below shows 2 versions:
- With Comments:
// Queue
class Queue {
constructor() {
this.storage = [];
}; // Add Element (Enqueue)
addElement(element) {
this.storage.push(element);
}; // Remove Element (Dequeue)
removeElement() {
// Check If Queue Is Not Empty
if (!this.isEmpty()) {
// Remove First Element
this.storage.shift();
}
else {
console.log('Queue is empty');
}
}; // View First Element At The Front Of The Queue
viewFirstElement() {
// Check If Queue Is Not Empty
if (!this.isEmpty()) {
// Return First Element
return this.storage[0];
}
else {
console.log('Queue is empty');
}
}; // Is Empty
isEmpty() {
// Check If Array Is Empty
if (this.storage.length === 0) {
return true;
}
else {
return false;
}
}; // View Queue
viewQueue() {
return this.storage;
};
};
2. Without Comments:
class Queue {
constructor() {
this.storage = [];
}; addElement(element) {
this.storage.push(element);
}; removeElement() {
if (!this.isEmpty()) {
this.storage.shift();
}
else {
console.log('Queue is empty');
}
}; viewFirstElement() {
if (!this.isEmpty()) {
return this.storage[0];
}
else {
console.log('Queue is empty');
}
}; isEmpty() {
if (this.storage.length === 0) {
return true;
}
else {
return false;
}
}; viewQueue() {
return this.storage;
};
};