{"id":9228,"date":"2022-08-25T08:52:48","date_gmt":"2022-08-25T08:52:48","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9228"},"modified":"2022-12-14T11:38:40","modified_gmt":"2022-12-14T11:38:40","slug":"implement-a-stack-using-single-queue","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/","title":{"rendered":"Implement a Stack Using Single Queue"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\" alt=\"\" \/><\/p>\n<h3>Problem statement:<\/h3>\n<p>We have to build a stack with a single queue.<\/p>\n<h3>What is a Stack?<\/h3>\n<p>Stack is a <a href=\"https:\/\/prepbytes.com\/blog\/queues\/different-types-of-queues-and-its-applications\/\" title=\"linear data structure\">linear data structure<\/a> in which a user can insert and delete an element from the same end which is known as a top.<br \/>\nStack data structure follows LIFO property i.e. (Last in First out).<br \/>\nIn LIFO, the element which was inserted last will be the element which was removed first.<br \/>\nIn stack, the process of insertion is called push operation and the process of deletion of the element from the stack is known as pop.<br \/>\nAnd, we can easily keep track of the last element using a pointer called top.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661323788640-Screenshot%202022-08-24%20011709.png\" alt=\"\" \/><\/p>\n<h3>What is a Queue?<\/h3>\n<p>A Queue is a linear data structure in which a user can insert and delete an element on the different end.<br \/>\nThe process of insertion in the queue is known as <strong>enqueue<\/strong> and the element will be added on the rear end of the queue. The process of deletion in the queue is known as <strong>dequeue<\/strong> and the element will be deleted from the front end.<\/p>\n<h3>How to implement the Stack using a Single Queue?<\/h3>\n<p>The Stack can be easily implemented by making the insertion operation costly. For the push operation i.e. the insertion operation, we will store the count of the elements (n) present in the stack. Then, the new element is inserted at the rear end. After that, we will iterate n times and on each iteration we will remove the first element from the stack and insert it at the rear end of the stack. This will make the insertion (push) operation costly, but will make the deletion (pop) efficient with O(1) time complexity as we are using a queue in which deletion of elements is done from the front end. And on the front end, the newly added element is there. So, on deletion the element which is added atlast will be deleted.<\/p>\n<p>Below are the complete steps:<\/p>\n<p>\/\/ Let <strong>new_element<\/strong> be the element to be pushed and <strong>st<\/strong> be the stack<br \/>\n<strong>push(st, new_element)<\/strong><\/p>\n<ol>\n<li>Let the size of the queue be s.<\/li>\n<li>Enqueue new_element to queue.<\/li>\n<li>One by one dequeue s items from the queue and enqueue them. <\/li>\n<\/ol>\n<p>\/\/ Removes an element from the queue<br \/>\n<strong>pop(st)<\/strong><br \/>\nDequeue an element from the queue.<\/p>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9229 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_9229 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_9229 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9229 .wpsm_nav-tabs > li.active > a, #tab_container_9229 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9229 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_9229 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_9229 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9229 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9229 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9229 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9229 .wpsm_nav-tabs > li > a:hover , #tab_container_9229 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_9229 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_9229 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_9229 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_9229 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_9229 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_9229 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_9229 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9229 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_9229 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9229 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_9229 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_9229\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9229\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9229_1\" aria-controls=\"tabs_desc_9229_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9229_2\" aria-controls=\"tabs_desc_9229_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9229_3\" aria-controls=\"tabs_desc_9229_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Python<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_9229\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_9229_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include&lt;bits\/stdc++.h&gt;\r\nusing namespace std;\r\n\r\nclass Stack\r\n{\r\n\tqueue&lt;int&gt;q;\r\npublic:\r\n\tvoid push(int val);\r\n\tvoid pop();\r\n\tint top();\r\n\tbool empty();\r\n};\r\n\r\nvoid Stack::push(int val)\r\n{\r\n\tint s = q.size();\r\n\r\n\tq.push(val);\r\n\r\n\tfor (int i=0; i&lt;s; i++)\r\n\t{\r\n\t\tq.push(q.front());\r\n\r\n\t\tq.pop();\r\n\t}\r\n}\r\n\r\nvoid Stack::pop()\r\n{\r\n\tif (q.empty())\r\n\t\tcout &lt;&lt; &quot;Queue is Empty!!!&#92;n&quot;;\r\n\telse\r\n\t\tq.pop();\r\n}\r\n\r\nint Stack::top()\r\n{\r\n\treturn (q.empty())? -1 : q.front();\r\n}\r\n\r\nbool Stack::empty()\r\n{\r\n\treturn (q.empty());\r\n}\r\n\r\nint main()\r\n{\r\n\tStack s;\r\n\ts.push(5);\r\n\ts.push(10);\r\n\tcout &lt;&lt; s.top() &lt;&lt; endl;\r\n\ts.pop();\r\n\ts.push(15);\r\n\ts.pop();\r\n\tcout &lt;&lt; s.top() &lt;&lt; endl;\r\n\treturn 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_9229_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n\r\nimport java.util.LinkedList;\r\nimport java.util.Queue;\r\n\r\npublic class stack\r\n{\r\n\tQueue&lt;Integer&gt; q = new LinkedList&lt;Integer&gt;();\r\n\t\r\n\tvoid push(int val)\r\n\t{\r\n\t\tint size = q.size();\r\n\t\t\r\n\t\tq.add(val);\r\n\t\t\r\n\t\tfor (int i = 0; i &lt; size; i++)\r\n\t\t{\r\n\t\t\tint x = q.remove();\r\n\t\t\tq.add(x);\r\n\t\t}\r\n\t}\r\n\t\r\n\tint pop()\r\n\t{\r\n\t\tif (q.isEmpty())\r\n\t\t{\r\n\t\t\tSystem.out.println(&quot;No elements&quot;);\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tint x = q.remove();\r\n\t\treturn x;\r\n\t}\r\n\t\r\n\tint top()\r\n\t{\r\n\t\tif (q.isEmpty())\r\n\t\t\treturn -1;\r\n\t\treturn q.peek();\r\n\t}\r\n\t\r\n\tboolean isEmpty()\r\n\t{\r\n\t\treturn q.isEmpty();\r\n\t}\r\n\r\n\tpublic static void main(String[] args)\r\n\t{\r\n\t\tstack s = new stack();\r\n\t\ts.push(5);\r\n\t\ts.push(10);\r\n\t\tSystem.out.println(&quot;Top element :&quot; + s.top());\r\n\t\ts.pop();\r\n\t\ts.push(15);\r\n\t\ts.pop();\r\n\t\tSystem.out.println(&quot;Top element :&quot; + s.top());\r\n\t}\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_9229_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"python\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nq = []\r\n\r\ndef append(val):\r\n\r\n\tsize = len(q)\r\n\r\n\tq.append(val);\r\n\r\n\tfor i in range(size):\r\n\r\n\t\tx = q.pop(0);\r\n\t\tq.append(x);\r\n\r\ndef pop():\r\n\r\n\tif (len(q) == 0):\r\n\r\n\t\tprint(\"Queue is Empty!!!\");\r\n\t\treturn -1;\r\n\t\r\n\tx = q.pop(0);\r\n\treturn x;\r\n\r\ndef top():\r\n\r\n\tif(len(q) == 0):\r\n\t\treturn -1;\r\n\treturn q[-1]\r\n\r\ndef isEmpty():\r\n\r\n\treturn len(q)==0;\r\n\r\nif __name__=='__main__':\r\n\r\n\ts = []\r\n\r\n\ts.append(5)\r\n\ts.append(10)\r\n\tprint(\"Top element :\", s[-1])\r\n\ts.pop()\r\n\ts.append(15)\r\n\ts.pop()\r\n\tprint(\"Top element :\", s[-1])\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_9229 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_9229 a\"),jQuery(\"#tab-content_9229\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p>This article tried to discuss implementing a stack using a single queue. Hope this blog helps you understand and solve the problem. To practice more problems you can check out  <a href=\"#\"><\/a> at <a href=\"https:\/\/www.prepbytes.com\/\"> Prepbytes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem statement: We have to build a stack with a single queue. What is a Stack? Stack is a linear data structure in which a user can insert and delete an element from the same end which is known as a top. Stack data structure follows LIFO property i.e. (Last in First out). In LIFO, [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[127],"tags":[],"class_list":["post-9228","post","type-post","status-publish","format-standard","hentry","category-stacks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Implement a Stack Using Single Queue | Stacks | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implement a Stack Using Single Queue | Stacks | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-25T08:52:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-14T11:38:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Implement a Stack Using Single Queue\",\"datePublished\":\"2022-08-25T08:52:48+00:00\",\"dateModified\":\"2022-12-14T11:38:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\"},\"wordCount\":425,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\",\"articleSection\":[\"Stacks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\",\"name\":\"Implement a Stack Using Single Queue | Stacks | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\",\"datePublished\":\"2022-08-25T08:52:48+00:00\",\"dateModified\":\"2022-12-14T11:38:40+00:00\",\"description\":\"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stacks\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/stacks\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Implement a Stack Using Single Queue\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Implement a Stack Using Single Queue | Stacks | PrepBytes Blog","description":"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/","og_locale":"en_US","og_type":"article","og_title":"Implement a Stack Using Single Queue | Stacks | PrepBytes Blog","og_description":"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem","og_url":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-08-25T08:52:48+00:00","article_modified_time":"2022-12-14T11:38:40+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Implement a Stack Using Single Queue","datePublished":"2022-08-25T08:52:48+00:00","dateModified":"2022-12-14T11:38:40+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/"},"wordCount":425,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg","articleSection":["Stacks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/","url":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/","name":"Implement a Stack Using Single Queue | Stacks | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg","datePublished":"2022-08-25T08:52:48+00:00","dateModified":"2022-12-14T11:38:40+00:00","description":"This article tried to discuss and explain how to implement a stack using a single queue. Hope this blog helps you understand and solve the problem","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661417367239-Implement%20Stack%20Using%20Single%20Queue%20Header.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/implement-a-stack-using-single-queue\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Stacks","item":"https:\/\/prepbytes.com\/blog\/category\/stacks\/"},{"@type":"ListItem","position":3,"name":"Implement a Stack Using Single Queue"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=9228"}],"version-history":[{"count":3,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9228\/revisions"}],"predecessor-version":[{"id":9604,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9228\/revisions\/9604"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}