1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| var Queue = function () {
| this.head = null;
| this.tail = null;
| };
|
| Queue.prototype = {
| add: function (item) {
| var entry = { item: item, next: null };
| if (this.head) this.tail.next = entry;
| else this.head = entry;
| this.tail = entry;
| },
| get: function () {
| var entry = this.head;
| if (entry) {
| this.head = entry.next;
| if (this.tail === entry) this.tail = null;
| return entry.item;
| }
| }
| };
|
| module.exports = Queue;
|
|