JavaScript Data Structures: What Is A Queue + Example Code

By: Jeff Lewis

Jeff Lewis
2 min readNov 12, 2019

Github:

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:

  1. 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;
};
};

--

--

Jeff Lewis

Full stack React/React Native developer, environmentalist, and beach bum.