Skip to main content

Stack

// LIFO (Last In, First Out)
export default class Stack {
constructor() {
this._size = 0;
this._storage = {};
}

push(data) {
const size = ++this._size;
this._storage[size] = data;
}

pop() {
const size = this._size;

if (size) {
const deletedData = this._storage[size];

delete this._storage[size];
this._size--;

return deletedData;
}
}
}