{"id":9088,"date":"2022-07-12T09:57:34","date_gmt":"2022-07-12T09:57:34","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9088"},"modified":"2023-05-11T07:02:57","modified_gmt":"2023-05-11T07:02:57","slug":"reversing-first-k-elements-queue","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/","title":{"rendered":"Reversing First K Elements Queue"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\" alt=\"\" \/><\/p>\n<p>Reverse the first k elements in the queue is a common problem in data structures and algorithms. A queue is a data structure that follows the FIFO (First In First Out) principle. In a queue, elements are inserted from one end called the &quot;rear&quot; and removed from the other end called the &quot;front&quot;. So, reversing the first K elements of a queue means that we need to dequeue the first K elements from the front of the queue, reverse them, and then enqueue them back to the front of the queue.<\/p>\n<h2>Reversing First K Elements Queue<\/h2>\n<p>Given a queue, we have to reverse the first k elements which are present in it.<\/p>\n<h2>What is Queue?<\/h2>\n<p>Linear data structures include queues. First in, First out, or FIFO, applies to the queue. The element that goes in first is the element that comes out first, in other words.<\/p>\n<p>For Example:  A ticket Queue outside a cinema hall where the person enters the queue first will get the ticket first.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657606562207-Image-01.png\" alt=\"\" \/><\/p>\n<h3>Basic Operations of Queue:<\/h3>\n<ul>\n<li><strong>Enqueue<\/strong>: This operation is used to <a href=\"https:\/\/prepbytes.com\/blog\/stl-list\/how-to-insert-elements-in-c-stl-list\/\" title=\"Insert an element\">Insert an element<\/a> at the end of the queue.<\/li>\n<li><strong>Dequeue<\/strong>: This operation is used to remove and return an element from the front of the queue. <\/li>\n<li><strong>isEmpty()<\/strong>: This operation is used to check whether the queue is empty or not.<\/li>\n<li><strong>isFull()<\/strong>: This operation is used to check whether the queue is full or not.<\/li>\n<li><strong>Peek()<\/strong>: This operation is used to get the value of the element from the front of the queue.<\/li>\n<\/ul>\n<p>Example for reversing the first k elements of the queue:<br \/>\nInput: Q = [5, 10, 15, 20, 25]<br \/>\nK = 3<br \/>\nOutput: [15, 10, 5, 20, 25]<\/p>\n<h3>How to Reverse the First K Elements of the Queue?<\/h3>\n<p>For reversing the first k elements of the queue, we will use an auxiliary stack for it. Firstly, we will start a for loop for k number of times. In the loop, remove the first element from the queue and push it in the stack. After pushing k elements in the stack, now pop the top element from the stack and enqueue that element in the queue on the rear end. After insertion of k elements in the queue, now start a for loop for n &#8211; k times, and in that loop dequeue the element from the front and and then enqueue that element back in the queue from the rear end. After all, the final queue will be our result.<\/p>\n<h3>Algorithm to Reverse the K Elements of Queue<\/h3>\n<ol>\n<li>Create an empty stack.<\/li>\n<li>Dequeue the k elements from the queue and push the dequeued element into the stack.<\/li>\n<li>Now, pop the top element from the stack and enqueue it in the queue on the rear end.<\/li>\n<li>Atlast, dequeue (n &#8211; k) elements from the front end of the queue and enqueue them back on the rear end.<\/li>\n<\/ol>\n<h3>Code Implementation to Reverse the K Elements of Queue<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9089 {\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_9089 .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_9089 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9089 .wpsm_nav-tabs > li.active > a, #tab_container_9089 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9089 .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_9089 .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_9089 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9089 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9089 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9089 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9089 .wpsm_nav-tabs > li > a:hover , #tab_container_9089 .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_9089 .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_9089 .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_9089 .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_9089 .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_9089 .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_9089 .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_9089 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9089 .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_9089 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9089 .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_9089 .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_9089\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9089\">\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_9089_1\" aria-controls=\"tabs_desc_9089_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_9089_2\" aria-controls=\"tabs_desc_9089_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_9089_3\" aria-controls=\"tabs_desc_9089_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_9089\">\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_9089_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\nvoid reverseQueueFirstKElements(\r\n  int k, queue&lt;int&gt;&amp; Queue)\r\n{\r\n  if (Queue.empty() == true\r\n    || k &gt; Queue.size())\r\n    return;\r\n  if (k &lt;= 0)\r\n    return;\r\n\r\n  stack&lt;int&gt; Stack;\r\n\r\n  for (int i = 0; i &lt; k; i++) {\r\n    Stack.push(Queue.front());\r\n    Queue.pop();\r\n  }\r\n\r\n  while (!Stack.empty()) {\r\n    Queue.push(Stack.top());\r\n    Stack.pop();\r\n  }\r\n\r\n  for (int i = 0; i &lt; Queue.size() - k; i++) {\r\n    Queue.push(Queue.front());\r\n    Queue.pop();\r\n  }\r\n}\r\n\r\nvoid Print(queue&lt;int&gt;&amp; Queue)\r\n{\r\n  while (!Queue.empty()) {\r\n    cout &lt;&lt; Queue.front() &lt;&lt; &quot; &quot;;\r\n    Queue.pop();\r\n  }\r\n}\r\n\r\nint main()\r\n{\r\n  queue&lt;int&gt; Queue;\r\n  Queue.push(5);\r\n  Queue.push(10);\r\n  Queue.push(15);\r\n  Queue.push(20);\r\n  Queue.push(25);\r\n  \r\n  int k = 3;\r\n  reverseQueueFirstKElements(k, Queue);\r\n  Print(Queue);\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_9089_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\nimport java.util.LinkedList;\r\nimport java.util.Queue;\r\nimport java.util.Stack;\r\n\r\nclass Reverse_k_element_queue {\r\n \r\n static Queue&lt;Integer&gt; queue;\r\n static void reverseQueueFirstKElements(int k)\r\n  {\r\n    if (queue.isEmpty() == true\r\n      || k &gt; queue.size())\r\n      return;\r\n    if (k &lt;= 0)\r\n      return;\r\n\r\n    Stack&lt;Integer&gt; stack = new Stack&lt;Integer&gt;();\r\n\r\n    for (int i = 0; i &lt; k; i++) {\r\n      stack.push(queue.peek());\r\n      queue.remove();\r\n    }\r\n\r\n    while (!stack.empty()) {\r\n      queue.add(stack.peek());\r\n      stack.pop();\r\n    }\r\n\r\n    for (int i = 0; i &lt; queue.size() - k; i++) {\r\n      queue.add(queue.peek());\r\n      queue.remove();\r\n    }\r\n  }\r\n\r\n  static void Print()\r\n  {\r\n    while (!queue.isEmpty()) {\r\n      System.out.print(queue.peek() + &quot; &quot;);\r\n      queue.remove();\r\n    }\r\n  }\r\n\r\n  public static void main(String args[])\r\n  {\r\n    queue = new LinkedList&lt;Integer&gt;();\r\n    queue.add(5);\r\n    queue.add(10);\r\n    queue.add(15);\r\n    queue.add(20);\r\n    queue.add(25);\r\n    \r\n    int k = 3;\r\n    reverseQueueFirstKElements(k);\r\n    Print();\r\n  }\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_9089_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\nfrom queue import Queue\r\n\r\ndef reverseQueueFirstKElements(k, Queue):\r\n  if (Queue.empty() == True or\r\n      k > Queue.qsize()):\r\n    return\r\n  if (k <= 0):\r\n    return\r\n\r\n  Stack = []\r\n\r\n  for i in range(k):\r\n    Stack.append(Queue.queue[0])\r\n    Queue.get()\r\n\r\n  while (len(Stack) != 0 ):\r\n    Queue.put(Stack[-1])\r\n    Stack.pop()\r\n\r\n  for i in range(Queue.qsize() - k):\r\n    Queue.put(Queue.queue[0])\r\n    Queue.get()\r\n\r\ndef Print(Queue):\r\n  while (not Queue.empty()):\r\n    print(Queue.queue[0], end =\" \")\r\n    Queue.get()\r\n\r\nif __name__ == '__main__':\r\n  Queue = Queue()\r\n  Queue.put(5)\r\n  Queue.put(10)\r\n  Queue.put(15)\r\n  Queue.put(20)\r\n  Queue.put(25)\r\n\r\n  k = 3\r\n  reverseQueueFirstKElements(k, Queue)\r\n  Print(Queue)\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_9089 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_9089 a\"),jQuery(\"#tab-content_9089\"));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<h3>Complexity Analysis<\/h3>\n<p><strong>Time complexity<\/strong>: The time complexity of reversing the first k elements of the queue will be O(n + k) where n is the number of elements in the queue and k is the number of elements which is to be reversed from the front end of the queue.<\/p>\n<p><strong>Space complexity<\/strong>: The space complexity will be O(n).<\/p>\n<p><strong>Conclusion<\/strong><br \/>\nReverse the first k elements in the queue is an important problem in computer science and has practical applications in various domains. It can be used to reorder the elements in a queue, ensuring that the most recently accessed elements are kept at the front for faster retrieval. This problem can be solved using various algorithms, such as by using a stack to reverse the elements, or by using recursion. Efficiently solving this problem requires a good understanding of the underlying data structures and algorithms. Overall, this problem serves as a good exercise in data structure manipulation and can help improve algorithmic thinking skills.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<p><strong>Q1. What is the time complexity of reversing the first K elements of a queue?<\/strong><br \/>\n<strong>Ans.<\/strong> The time complexity of reversing the first K elements of a queue is O(K), as we need to dequeue the first K elements and then enqueue them back to the front of the queue after reversing them.<\/p>\n<p><strong>Q2. Can we solve this problem without using a stack?<\/strong><br \/>\n<strong>Ans.<\/strong> Yes, we can solve this problem without using a stack. One way to do this is by using recursion, where we dequeue the first element, recursively reverse the remaining elements, and then enqueue the first element to the end of the reversed elements.<\/p>\n<p><strong>Q3. What is the space complexity of reversing the first K elements of a queue?<\/strong><br \/>\n<strong>Ans.<\/strong> The space complexity of reversing the first K elements of a queue depends on the implementation. If we use a stack, the space complexity would be O(K), as we need to store the first K elements in the stack. If we use recursion, the space complexity would be O(K) as well, as we need to store K stack frames.<\/p>\n<p><strong>Q4. What are the practical applications of reversing the first K elements of a queue?<\/strong><br \/>\n<strong>Ans.<\/strong> Reversing the first K elements of a queue can be used in various applications such as web caching, job scheduling, and data stream processing. It can also be used to reorder elements in a queue according to some criteria.<\/p>\n<p><strong>Q5. Is it possible to reverse a queue in place?<\/strong><br \/>\n<strong>Ans.<\/strong> No, it is not possible to reverse a queue in place, as we need to dequeue the elements to reverse them, which changes the original queue. We can only create a new queue to store the reversed elements and then enqueue them back to the original queue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reverse the first k elements in the queue is a common problem in data structures and algorithms. A queue is a data structure that follows the FIFO (First In First Out) principle. In a queue, elements are inserted from one end called the &quot;rear&quot; and removed from the other end called the &quot;front&quot;. So, reversing [&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":[128],"tags":[],"class_list":["post-9088","post","type-post","status-publish","format-standard","hentry","category-queues"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Reversing first k elements Queue | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews\" \/>\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\/reversing-first-k-elements-queue\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reversing first k elements Queue | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-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-07-12T09:57:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-11T07:02:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Reversing First K Elements Queue\",\"datePublished\":\"2022-07-12T09:57:34+00:00\",\"dateModified\":\"2023-05-11T07:02:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/\"},\"wordCount\":947,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\",\"articleSection\":[\"Queues\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/\",\"name\":\"Reversing first k elements Queue | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\",\"datePublished\":\"2022-07-12T09:57:34+00:00\",\"dateModified\":\"2023-05-11T07:02:57+00:00\",\"description\":\"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Queues\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/queues\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Reversing First K Elements 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":"Reversing first k elements Queue | PrepBytes Blog","description":"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews","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\/reversing-first-k-elements-queue\/","og_locale":"en_US","og_type":"article","og_title":"Reversing first k elements Queue | PrepBytes Blog","og_description":"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews","og_url":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-07-12T09:57:34+00:00","article_modified_time":"2023-05-11T07:02:57+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Reversing First K Elements Queue","datePublished":"2022-07-12T09:57:34+00:00","dateModified":"2023-05-11T07:02:57+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/"},"wordCount":947,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg","articleSection":["Queues"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/","url":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/","name":"Reversing first k elements Queue | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg","datePublished":"2022-07-12T09:57:34+00:00","dateModified":"2023-05-11T07:02:57+00:00","description":"Explanation on reverse the first k elements which are present in it. Get online training from prepbytes which helps in cracking the technical rounds of programming interviews","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1657608125545-Article.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/reversing-first-k-elements-queue\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Queues","item":"https:\/\/prepbytes.com\/blog\/category\/queues\/"},{"@type":"ListItem","position":3,"name":"Reversing First K Elements 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\/9088","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=9088"}],"version-history":[{"count":4,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9088\/revisions"}],"predecessor-version":[{"id":16267,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9088\/revisions\/16267"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}