{"id":1841,"date":"2020-07-01T09:37:41","date_gmt":"2020-07-01T09:37:41","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1841"},"modified":"2023-04-26T09:27:39","modified_gmt":"2023-04-26T09:27:39","slug":"enqueue-and-dequeue","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/","title":{"rendered":"Enqueue and Dequeue in Data Structure"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\" alt=\"\" \/><\/p>\n<p>The queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. Since queues maintain the order of insertion of elements and also remove elements in the same order as of insertion, they are used to implement various algorithms such as breadth-first search, and scheduling. The two primary operations performed on a queue are enqueue and dequeue. Here we will discuss the process of enqueue and deque in data structure in detail. Let\u2019s start with a brief introduction to the queue data structure.<\/p>\n<h2>What is Queue Data Structure?<\/h2>\n<p>The queue is a linear data structure that follows the principle of First-In-First-Out (FIFO) which means the element which is added first is the first one to be removed. It is like a real-world queue where the first person is the first to be served. In a queue data structure, the elements are added at one end, known as the rear, and removed from the other end, known as the front. The rear end is also known as the tail, and the front end is known as the head. Queues are commonly used in computer algorithms, such as breadth-first search, and scheduling.<\/p>\n<p>To learn more about the queue data structure, refer to the following article &#8211; <a href=\"https:\/\/prepbytes.com\/blog\/queues\/queue-data-structure\/\" title=\"Queue Data Structure.\">Queue Data Structure.<\/a><\/p>\n<h2>What is Enqueue Operation in Queue?<\/h2>\n<p>Enqueue is the basic operation performed in a queue data structure to insert an element at the rear end of the queue. This operation is also referred to as &quot;push&quot; or &quot;insert&quot;.When a new element is added to the queue using the enqueue operation, it is added after the last element of the queue. The rear pointer is then moved one position forward to point to the new element. The enqueue operation follows the principle of first-in-first-out (FIFO), which means that the element added first will be the first one to be removed using the dequeue operation.<\/p>\n<p><strong>Time complexity of enqueue:<\/strong> O(1), since enqueue only involves the addition of a new element at the end and the updation of the rear pointer.<\/p>\n<h2>What is Dequeue Operation in Queue?<\/h2>\n<p>Dequeue is an operation in a queue data structure that removes an element from the front end of the queue. It is also known as \u201cdelete\u201d or \u201cpop\u201d.When the dequeue operation is performed on a queue, the first element of the queue is removed, and the front pointer is incremented by one position to point to the next element in the queue. The removed element is returned as the output of the dequeue operation. If the queue is empty, the dequeue operation cannot be performed, and it is called an underflow condition.<\/p>\n<p><strong>Time complexity of the dequeue:<\/strong> O(1), since it only involves removing the first element and moving the front pointer to the next element.<\/p>\n<h2>Example to Understand Enqueue and Dequeue in Data Structure<\/h2>\n<p>Let\u2019s understand the enqueue and dequeue in data structure with the help of the following example.<\/p>\n<p>Let\u2019s take an empty queue and we want to enqueue and dequeue the following elements in the queue: 1, 2, 3, 4, and 5<\/p>\n<p>The queue after each operation is given below.<\/p>\n<ul>\n<li>enqueue(1): 1<\/li>\n<li>enqueue(2): 1  2<\/li>\n<li>enqueue(3): 1  2  3<\/li>\n<li>enqueue(4): 1  2  3  4<\/li>\n<li>enqueue(5): 1  2  3  4  5<\/li>\n<li>dequeue(): 2  3  4  5<\/li>\n<li>dequeue(): 3  4  5<\/li>\n<li>dequeue(): 4  5<\/li>\n<li>dequeue(): 5<\/li>\n<\/ul>\n<p>We can clearly see the queue follows the FIFO principle.<\/p>\n<h2>Enqueue and Dequeue Algorithm<\/h2>\n<p>The enqueue and dequeue algorithm is given below in a stepwise manner.<\/p>\n<h3>Enqueue Algorithm:<\/h3>\n<ul>\n<li><strong>Step 1:<\/strong> Check if the queue is full or not by comparing the number of elements in the queue with the maximum size of the queue.<\/li>\n<li><strong>Step 2:<\/strong> If the queue is full, then display an overflow message and return.<\/li>\n<li><strong>Step 3:<\/strong> If the queue is not full, then increment the rear pointer and insert the new element at the position pointed by the rear pointer.<\/li>\n<\/ul>\n<h3>Dequeue Algorithm:<\/h3>\n<ul>\n<li><strong>Step 1:<\/strong> Check if the queue is empty or not by comparing the number of elements in the queue with 0.<\/li>\n<li><strong>Step 2:<\/strong> If the queue is empty, then display an underflow message and end the program.<\/li>\n<li><strong>Step 3:<\/strong> If the queue is not empty, then remove the element at the front of the queue and increment the front pointer.<\/li>\n<\/ul>\n<h2>Code for Enqueue and Dequeue in C++, C and Java<\/h2>\n<p>Below is the code implementation of enqueue and dequeue in C++, C, and Java.<\/p>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_1842 {\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_1842 .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_1842 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1842 .wpsm_nav-tabs > li.active > a, #tab_container_1842 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1842 .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_1842 .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_1842 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1842 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1842 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1842 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1842 .wpsm_nav-tabs > li > a:hover , #tab_container_1842 .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_1842 .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_1842 .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_1842 .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_1842 .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_1842 .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_1842 .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_1842 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1842 .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_1842 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1842 .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_1842 .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_1842\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1842\">\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_1842_1\" aria-controls=\"tabs_desc_1842_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_1842_2\" aria-controls=\"tabs_desc_1842_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>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_1842_3\" aria-controls=\"tabs_desc_1842_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>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\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_1842\">\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_1842_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include <stdio.h>\r\nint Queue[100];\r\nint front=-1,rear=-1;\r\nvoid enqueue(int item,int N)\r\n{\r\n  rear=(rear+1)%N;\r\n  if(front==rear)\r\n  {\r\n    return;\r\n  }\r\n  else\r\n  {\r\n    Queue[rear]=item;\r\n    if(front==-1)\r\n    front=rear;\r\n  }\r\n}\r\nvoid dequeue(int N)\r\n{\r\n  int temp=Queue[front];\r\n  if(front==rear)\r\n  front=rear=-1;\r\n  front=(front+1)%N;\r\n  return;\r\n}\r\nvoid printQueue()\r\n{\r\n  int i=front;\r\n  for(i;i<=rear;i++)\r\n  {\r\n    printf(\"%d \",Queue[i]);\r\n  }\r\n}\r\n  \r\n  int main()\r\n  {\r\n    \/\/ write your code here\r\n    int N;\r\n    scanf(\"%d\",&N);\r\n    int item;\r\n    for(int i=0;i<N;i++)\r\n    {\r\n      scanf(\"%d\",&item);\r\n      enqueue(item,N);\r\n      printQueue();\r\n      printf(\"&#92;n\");\r\n    }\r\n    for(int i=0;i<N-1;i++)\r\n    {\r\n      dequeue(N);\r\n      printQueue();\r\n      printf(\"&#92;n\");\r\n    }\r\n    \r\n    \r\n    return 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_1842_2\">\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 <bits\/stdc++.h>\r\nusing namespace std;\r\nint main()\r\n{\r\nint n;cin>>n;\r\nvector<int>v(n);\r\nfor(int i=0;i<n;i++)cin>>v[i];\r\nqueue<int>q;\r\nfor(int i=0;i<n;i++)\r\n{\r\n  q.push(v[i]);\r\n  queue<int>temp;\r\n  while(!q.empty())\r\n  {\r\n    cout<<q.front()<<\" \";\r\n    temp.push(q.front());\r\n    q.pop();\r\n  }cout<<\"&#92;n\";\r\n  while(!temp.empty())\r\n  {\r\n    q.push(temp.front());\r\n    temp.pop();\r\n  }\r\n}\r\nfor(int i=0;i<n;i++)\r\n{\r\n  q.pop();\r\n  queue<int> temp;\r\n  while(!q.empty())\r\n  {\r\n    cout<<q.front()<<\" \";\r\n    temp.push(q.front());\r\n    q.pop();\r\n  }cout<<\"&#92;n\";\r\n  while(!temp.empty())\r\n  {\r\n    q.push(temp.front());\r\n    temp.pop();\r\n  }\r\n}\r\nreturn 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_1842_3\">\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.*;\r\nimport java.util.Scanner;\r\npublic class HelloWorld{\r\npublic static void main(String []args){\r\n    Scanner myObj = new Scanner(System.in);\r\n    int n = myObj.nextInt();\r\n    int a[] = new int[n];\r\n    for(int i=0;i<n;++i){\r\n        a[i]=myObj.nextInt();\r\n    }\r\n    for(int i=0;i<n;++i){\r\n        for(int j=0;j<=i;++j){\r\n            System.out.print(a[j]+\" \");\r\n        }\r\n        System.out.println();\r\n    }\r\n    for(int i=0;i<n;++i){\r\n        for(int j=i+1;j<n;++j){\r\n            System.out.print(a[j]+\" \");\r\n        }\r\n        System.out.println();\r\n    }\r\n}\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_1842 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_1842 a\"),jQuery(\"#tab-content_1842\"));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><strong>Conclusion<\/strong><br \/>\nIn conclusion, enqueue and dequeue in data structure are fundamental operations that allow us to add and remove elements in a specific order. They are essential in many algorithms and applications where data needs to be processed in a sequential manner. Proper implementation of these operations ensures efficient use of memory and optimal performance. In this article, we discussed what enqueue and dequeue operations are in queue data structure and the implementation of enqueue and dequeue in C++, C, and Java languages.<\/p>\n<h2>FAQs<\/h2>\n<p>Here are some frequently asked questions on enqueue and dequeue in data structure.<\/p>\n<p><strong>Q1. What input is required for the enqueue operation in a queue data structure?<\/strong><br \/>\n<strong>Ans:<\/strong> The input required for the enqueue operation in a queue data structure is the element that needs to be added to the end of the queue.<\/p>\n<p><strong>Q2. What happens if the queue is full during an enqueue operation?<\/strong><br \/>\n<strong>Ans:<\/strong> If the queue is full during an enqueue operation, it is called an overflow condition, and the operation cannot be performed.<\/p>\n<p><strong>Q3. What happens if the queue is empty during a dequeue operation?<\/strong><br \/>\n<strong>Ans:<\/strong> If the queue is empty during a dequeue operation, it is called an underflow condition, and the operation cannot be performed.<\/p>\n<p><strong>Q4. Can elements be inserted in the middle of a queue using enqueue operation?<\/strong><br \/>\n<strong>Ans:<\/strong> No, elements cannot be inserted in the middle of a queue using the enqueue operation. They can only be added to the end of the queue.<\/p>\n<p><strong>Q5. What is the implementation of enqueue and dequeue in C language?<\/strong><br \/>\n<strong>Ans.<\/strong> Enqueue and dequeue in C can be implemented using an array or a linked list data structure. For the array implementation, we can use the rear and front pointers to keep track of the positions of the last and first elements of the queue respectively. For the linked list implementation, we can use a structure to represent the nodes of the linked list and the rear and front pointers to keep track of the positions of the last and first nodes of the linked list respectively.<\/p>\n<p><strong>Q6. Can elements be removed from the middle of a queue using a dequeue operation?<\/strong><br \/>\n<strong>Ans.<\/strong> No, elements cannot be removed from the middle of a queue using the dequeue operation. They can only be removed from the front end of the queue.<\/p>\n<p><strong>Q7. What is the implementation of enqueue and dequeue in C++ language?<\/strong><br \/>\n<strong>Ans:<\/strong> Enqueue and dequeue in C++ can be implemented using a queue class in the standard library. The queue class provides built-in functions for the enqueue and dequeue operations, such as push() and pop() respectively. The queue class can also be implemented using an array or a linked list data structure.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. Since queues maintain the order of insertion of elements and also remove elements in the same order as of insertion, they are used to implement various algorithms such as breadth-first search, and scheduling. The two primary operations performed on a queue are [&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-1841","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>Enqueue and Dequeue in Data Structure<\/title>\n<meta name=\"description\" content=\"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.\" \/>\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\/enqueue-and-dequeue\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enqueue and Dequeue in Data Structure\" \/>\n<meta property=\"og:description\" content=\"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\" \/>\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=\"2020-07-01T09:37:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-26T09:27:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\" \/>\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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Enqueue and Dequeue in Data Structure\",\"datePublished\":\"2020-07-01T09:37:41+00:00\",\"dateModified\":\"2023-04-26T09:27:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\"},\"wordCount\":1161,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\",\"articleSection\":[\"Queues\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\",\"name\":\"Enqueue and Dequeue in Data Structure\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\",\"datePublished\":\"2020-07-01T09:37:41+00:00\",\"dateModified\":\"2023-04-26T09:27:39+00:00\",\"description\":\"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#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\":\"Enqueue and Dequeue in Data Structure\"}]},{\"@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":"Enqueue and Dequeue in Data Structure","description":"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.","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\/enqueue-and-dequeue\/","og_locale":"en_US","og_type":"article","og_title":"Enqueue and Dequeue in Data Structure","og_description":"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.","og_url":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-07-01T09:37:41+00:00","article_modified_time":"2023-04-26T09:27:39+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Enqueue and Dequeue in Data Structure","datePublished":"2020-07-01T09:37:41+00:00","dateModified":"2023-04-26T09:27:39+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/"},"wordCount":1161,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png","articleSection":["Queues"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/","url":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/","name":"Enqueue and Dequeue in Data Structure","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png","datePublished":"2020-07-01T09:37:41+00:00","dateModified":"2023-04-26T09:27:39+00:00","description":"Given N Numbers, Your Task Is to Implement Enqueue and Dequeue Operation of the Queue Data Structure.this Is the Basic Implementation Question of Queues.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645098476841-Article_308.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/enqueue-and-dequeue\/#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":"Enqueue and Dequeue in Data Structure"}]},{"@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\/1841","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=1841"}],"version-history":[{"count":14,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1841\/revisions"}],"predecessor-version":[{"id":16011,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1841\/revisions\/16011"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}