Skip to content

Instantly share code, notes, and snippets.

@basekays
Last active February 10, 2017 02:22
Show Gist options
  • Select an option

  • Save basekays/f04326df78496b0a49894c034b328226 to your computer and use it in GitHub Desktop.

Select an option

Save basekays/f04326df78496b0a49894c034b328226 to your computer and use it in GitHub Desktop.
var Queue = function() {
var someInstance = {};
var size = 0;
// Use an object with numeric keys to store values
var storage = {};
// Implement the methods below
someInstance.enqueue = function(value) {
storage[size] = value;
size++;
};
someInstance.dequeue = function() {
var dequeue = storage[0];
if (size) {
size--;
}
for (var key in storage) {
var oldIndex = key;
var newIndex = key - 1;
storage[oldIndex] = storage[newIndex];
}
return dequeue;
};
someInstance.size = function() {
return size;
};
return someInstance;
};
@basekays

Copy link
Copy Markdown
Author

// test to be passed;

queue.enqueue('a');
queue.enqueue('b');
queue.dequeue();
queue.enqueue('c');
expect(queue.dequeue()).to.equal('b');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment