{"ScriptPreparationCode":"function createSingleListQueue() {\r\n\treturn {\r\n\t\tqueue: [],\r\n\t\tenqueue(element) {\r\n\t\t\tthis.queue.push(element)\r\n\t\t},\r\n\t\tdequeue() {\r\n\t\t\treturn this.queue.shift()\r\n\t\t},\r\n\t\tisEmpty() {\r\n\t\t\treturn this.queue.length === 0\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction createDoubleListQueue() {\r\n\treturn {\r\n\t\tinput: [],\r\n\t\toutput: [],\r\n\t\tenqueue(element) {\r\n\t\t\tthis.input.push(element)\r\n\t\t},\r\n\t\tdequeue() {\r\n\t\t\tif(this.output.length === 0) {\r\n\t\t\t\tthis.pivot()\r\n\t\t\t}\r\n\t\t\treturn this.output.pop()\r\n\t\t},\r\n\t\tpivot() {\r\n\t\t\tthis.output = this.input.reverse()\r\n\t\t\tthis.input = []\r\n\t\t},\r\n\t\tisEmpty() {\r\n\t\t\treturn this.input.length === 0 \u0026\u0026 this.output.length === 0\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar singleQ = createSingleListQueue()\r\nvar doubleQ = createDoubleListQueue()\r\nvar queueSize = 100000\r\n\r\nfor(let i = 0; i \u003C queueSize; i\u002B\u002B) {\r\n singleQ.enqueue(\u0027testString\u0027 \u002B i)\r\n doubleQ.enqueue(\u0027testString\u0027 \u002B i)\r\n}","TestCases":[{"Name":"single","Code":"for(let i = 0; i \u003C 100000; i\u002B\u002B) {\r\n singleQ.dequeue()\r\n}","IsDeferred":false},{"Name":"double","Code":"for(let i = 0; i \u003C 100000; i\u002B\u002B) {\r\n doubleQ.dequeue()\r\n}","IsDeferred":false}]}