{"id":2380,"date":"2020-07-29T07:34:05","date_gmt":"2020-07-29T07:34:05","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=2380"},"modified":"2022-03-31T11:38:42","modified_gmt":"2022-03-31T11:38:42","slug":"heap-operations","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/heap-operations\/","title":{"rendered":"Heap Operations"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png\" alt=\"\" \/><\/p>\n<h3>CONCEPTS USED:<\/h3>\n<blockquote>\n<p>Heaps.<\/p>\n<\/blockquote>\n<h3>DIFFICULTY LEVEL:<\/h3>\n<blockquote>\n<p>Easy.<\/p>\n<\/blockquote>\n<h3>PROBLEM STATEMENT(SIMPLIFIED):<\/h3>\n<blockquote>\n<p>Given an array containing N integers, your task is:<\/p>\n<ol>\n<li>To create min-heap(Insert elements one by one).<\/li>\n<li>Extract the minimum element from the heap created in the first step and print it.<\/li>\n<li>Print the extracted element and updated heap after extraction, separated by space.<br \/>\nNote: Use heap concepts to solve the problem.<\/li>\n<\/ol>\n<\/blockquote>\n<p><a href=\"https:\/\/www.prepbytes.com\/panel\/mycourses\/mentors-coding-program\/c++\/week\/13\/heaps\/codingAssignment\/OPHEAP\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h4>For Example :<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646651364364-Heap%20Operationspaid1-01.png\" alt=\"\" \/><\/p>\n<h3>MIN-HEAP:<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646651525233-Heap%20Operationspaid2-02.png\" alt=\"\" \/><\/p>\n<blockquote>\n<p>A Min-Heap is a complete binary tree in which the value in each internal node is smaller than or equal to the values in the children of that node.<br \/>\nMapping the elements of a heap into an array is trivial: if a node is stored a index k, then its left child is stored at index 2k + 1 and its right child at index 2k + 2.<\/p>\n<\/blockquote>\n<p><strong>How is Min Heap represented?<\/strong><\/p>\n<blockquote>\n<p>A Min Heap is a Complete Binary Tree. A Min heap is typically represented as an array. The root element will be at Arr[0]. For any ith node, i.e., Arr[i]:<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646651600556-Heap%20Operationspaid3-03.png\" alt=\"\" \/><\/p>\n<\/blockquote>\n<h3>SOLUTION:<\/h3>\n<p>\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_2381 {\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_2381 .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_2381 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_2381 .wpsm_nav-tabs > li.active > a, #tab_container_2381 .wpsm_nav-tabs > li.active > a:hover, #tab_container_2381 .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_2381 .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_2381 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_2381 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_2381 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_2381 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_2381 .wpsm_nav-tabs > li > a:hover , #tab_container_2381 .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_2381 .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_2381 .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_2381 .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_2381 .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_2381 .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_2381 .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_2381 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2381 .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_2381 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2381 .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_2381 .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_2381\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_2381\">\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_2381_1\" aria-controls=\"tabs_desc_2381_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_2381_2\" aria-controls=\"tabs_desc_2381_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_2381_3\" aria-controls=\"tabs_desc_2381_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>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\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_2381\">\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_2381_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 &lt;stdio.h&gt;\r\n     #include &lt;string.h&gt;\r\n    #include&lt;stdlib.h&gt;\r\n     int prio_queue[1000005];int ind=-1;\r\n     void percolateup(int pos)\r\n    { \r\n    if(pos&lt;1)\r\n    return ;\r\n    int par=(pos-1)\/2;\r\n    if(prio_queue[par]&gt;prio_queue[pos])\r\n    {\r\n        int temp=prio_queue[par];\r\n        prio_queue[par]=prio_queue[pos];\r\n        prio_queue[pos]=temp;\r\n        percolateup(par);\r\n    }\r\n    }\r\n     void percolatedown(int pos)\r\n     {\r\n    int left=2*pos+1,right=2*pos+2,min=pos;\r\n    if(left&lt;=ind)\r\n    {\r\n        if(prio_queue[pos]&gt;prio_queue[left])\r\n        min=left;\r\n    }\r\n    if(right&lt;=ind)\r\n    {\r\n        if(prio_queue[min]&gt;prio_queue[right])\r\n        min=right;\r\n    }\r\n    if(pos!=min)\r\n    {\r\n        int temp=prio_queue[min];\r\n        prio_queue[min]=prio_queue[pos];\r\n        prio_queue[pos]=temp;\r\n        percolatedown(min);\r\n    }\r\n    }\r\n     void insert(int x)\r\n    {\r\n    prio_queue[++ind]=x;\r\n    percolateup(ind);\r\n    }\r\n    void del()\r\n    {\r\n      prio_queue[0]=prio_queue[ind];\r\n      ind--;\r\n      percolatedown(0);\r\n    }\r\n    int main()\r\n     {\r\n    int t;scanf(\"%d\",&amp;t);\r\n    while(t--)\r\n    {\r\n        ind=-1;\r\n        int n;scanf(\"%d\",&amp;n);\r\n        for(int i=0;i&lt;n;i++)\r\n        {\r\n            int x;scanf(\"%d\",&amp;x);\r\n            insert(x);\r\n        }printf(\"%d \",prio_queue[0]);\r\n        del();\r\n        for(int i=0;i&lt;n-1;i++)\r\n        printf(\"%d \",prio_queue[i]);\r\n        printf(\"&#92;n\");\r\n    }\r\n    return 0;\r\n     }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_2381_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 import java.util.*;\r\n     import java.io.*;\r\n\r\n     public class Main {\r\n     public static void main(String[] args) throws IOException {\r\n        \/\/ write your code here\r\n      \/*  Scanner sc = new Scanner(new File(\"D:&#92;&#92;PrepByte&#92;&#92;Coding Platform&#92;&#92;Heap&#92;&#92;Easy&#92;&#92;HPSRT&#92;&#92;tc&#92;&#92;HPSRT_sample.in\"));\r\n        Writer wr = new FileWriter(\"D:&#92;&#92;PrepByte&#92;&#92;Coding Platform&#92;&#92;Heap&#92;&#92;Easy&#92;&#92;HPSRT&#92;&#92;tc&#92;&#92;HPSRT_sample.out\");*\/\r\n        Scanner sc = new Scanner(System.in);\r\n        int t=sc.nextInt();\r\n        while(t--&gt;0) {\r\n            int n = sc.nextInt();\r\n            \/\/int k = sc.nextInt();\r\n            MinHeap minHeap = new MinHeap(n);\r\n            for (int i = 0; i &lt; n; i++) {\r\n                minHeap.insert(sc.nextInt());\r\n            }\r\n\r\n            \/\/ wr.write(minHeap.remove()+\" \");\r\n            System.out.println(minHeap.remove()+\" \");\r\n\r\n            \/\/ minHeap.deleteKey(k);\r\n            minHeap.printHeap(sc);\r\n           \/\/ minHeap.heapSort(wr);\r\n            System.out.println();\r\n            \/\/wr.write(\"&#92;n\");\r\n        }\r\n        \/\/wr.flush();\r\n        \/\/wr.close();\r\n\r\n        }\r\n\r\n    }\r\n     class MinHeap\r\n    {\r\n    private int[]Heap;\r\n    private int size;\r\n    private int maxSize;\r\n    private static final int FRONT = 1;\r\n    MinHeap(int maxSize)\r\n    {\r\n        this.maxSize = maxSize;\r\n        size=0;\r\n        Heap = new int[this.maxSize+1];\r\n        Heap[0] = Integer.MIN_VALUE;\r\n    }\r\n    private int parent(int pos) {\r\n        return pos \/ 2;\r\n    }\r\n    private int leftChild(int pos)\r\n    {\r\n        return (2*pos);\r\n    }\r\n    private int rightChild(int pos)\r\n    {\r\n        return (2*pos)+1;\r\n    }\r\n    private boolean isLeaf(int pos)\r\n    {\r\n        if(pos&gt;=(size\/2) &amp;&amp; pos&lt;=size)\r\n            return true;\r\n        return false;\r\n    }\r\n    private void swap(int fpos, int spos)\r\n    {\r\n        int temp;\r\n        temp = Heap[fpos];\r\n        Heap[fpos]=Heap[spos];\r\n        Heap[spos]=temp;\r\n    }\r\n    private void minHeapify(int pos)\r\n    {\r\n        int left = leftChild(pos);\r\n        int right = rightChild(pos);\r\n        int largest = pos;\r\n        if(left&lt;=size &amp;&amp; Heap[left]&lt;Heap[largest])\r\n            largest=left;\r\n        if(right&lt;=size &amp;&amp; Heap[right]&lt;Heap[largest])\r\n            largest = right;\r\n\r\n        if(largest!=pos)\r\n        {\r\n            swap(pos, largest);\r\n            minHeapify(largest);\r\n        }\r\n        \/*if(!isLeaf(pos))\r\n        {\r\n            if(Heap[pos]&gt;Heap[leftChild(pos)]\r\n            || Heap[pos]&gt;Heap[rightChild(pos)]){\r\n                if(Heap[leftChild(pos)]&lt;Heap[rightChild(pos)])\r\n                {\r\n                    swap(pos,leftChild(pos));\r\n                    minHeapify(leftChild(pos));\r\n                }\r\n                else\r\n                {\r\n                    swap(pos, rightChild(pos));\r\n                    minHeapify(rightChild(pos));\r\n                }\r\n            }\r\n        }*\/\r\n    }\r\n    void insert(int element)\r\n    {\r\n        if(size&gt;=maxSize)\r\n            return;\r\n\r\n        Heap[++size]=element;\r\n        int i=size;\r\n        while(Heap[i]&lt;Heap[parent(i)])\r\n        {\r\n            swap(i,parent(i));\r\n            i=parent(i);\r\n        }\r\n    }\r\n    private void build_heap()\r\n    {\r\n        int j=(int)Math.floor(size\/2.0);\r\n        for(int i=j;i&gt;=1;i--){\r\n            minHeapify(i);\r\n        }\r\n\r\n    }\r\n    public void heapSort(Writer wr) throws IOException {\r\n        build_heap();\r\n        int length=size;\r\n        for(int i=size;i&gt;=2;i--)\r\n        {\r\n            swap(1,i);\r\n            size--;\r\n            minHeapify(1);\r\n        }\r\n        size=length;\r\n      \/\/ printHeap(wr);\r\n\r\n    }\r\n    public int remove()\r\n    {\r\n        int popped = Heap[FRONT];\r\n        Heap[FRONT] = Heap[size];\r\n        size=size-1;\r\n        minHeapify(FRONT);\r\n        return popped;\r\n    }\r\n    public void deleteKey(int i)\r\n    {\r\n        decreaseKey(i, Integer.MIN_VALUE);\r\n        remove();\r\n    }\r\n\r\n    private void decreaseKey(int i, int new_val) {\r\n        Heap[i]=new_val;\r\n        while(i !=0 &amp;&amp; Heap[parent(i)]&gt;Heap[i])\r\n        {\r\n            swap(i,parent(i));\r\n            i=parent(i);\r\n        }\r\n    }\r\n\r\n    void printHeap(Scanner sc) throws IOException {\r\n        for(int i=1;i&lt;=size;i++)\r\n        {\r\n            \/\/wr.write(Heap[i]+\" \");\r\n            System.out.print(Heap[i]+\" \");\r\n        }\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\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_2381_3\">\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\n    using namespace std;\r\n\r\n    int prio_queue[1000005];int ind=-1;\r\n    void percolateup(int pos)\r\n    {\r\n    if(pos&lt;1)\r\n    return ;\r\n    int par=(pos-1)\/2;\r\n    if(prio_queue[par]&gt;prio_queue[pos])\r\n    {\r\n        int temp=prio_queue[par];\r\n        prio_queue[par]=prio_queue[pos];\r\n        prio_queue[pos]=temp;\r\n        percolateup(par);\r\n    }\r\n    }\r\n     void percolatedown(int pos)\r\n    {\r\n    int left=2*pos+1,right=2*pos+2,min=pos;\r\n    if(left&lt;=ind)\r\n    {\r\n        if(prio_queue[pos]&gt;prio_queue[left])\r\n        min=left;\r\n    }\r\n    if(right&lt;=ind)\r\n    {\r\n        if(prio_queue[min]&gt;prio_queue[right])\r\n        min=right;\r\n    }\r\n    if(pos!=min)\r\n    {\r\n        int temp=prio_queue[min];\r\n        prio_queue[min]=prio_queue[pos];\r\n        prio_queue[pos]=temp;\r\n        percolatedown(min);\r\n    }\r\n    }\r\n    void insert(int x)\r\n     {\r\n    prio_queue[++ind]=x;\r\n    percolateup(ind);\r\n    }\r\n    void del()\r\n    {\r\n      prio_queue[0]=prio_queue[ind];\r\n      ind--;\r\n      percolatedown(0);\r\n    }\r\n    int main()\r\n    {\r\n    int t;cin&gt;&gt;t;\r\n    while(t--)\r\n    {\r\n        ind=-1;\r\n        int n;cin&gt;&gt;n;\r\n        for(int i=0;i&lt;n;i++)\r\n        {\r\n            int x;cin&gt;&gt;x;\r\n            insert(x);\r\n        }\r\n        cout&lt;&lt;prio_queue[0]&lt;&lt;\" \";\r\n        del();\r\n        for(int i=0;i&lt;n-1;i++)\r\n        cout&lt;&lt;prio_queue[i]&lt;&lt;\" \";\r\n        cout&lt;&lt;\"&#92;n\";\r\n    }\r\n    return 0;\r\n    }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_2381 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_2381 a\"),jQuery(\"#tab-content_2381\"));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<br \/>\n[forminator_quiz id=&quot;2382&quot;]<\/p>\n<p>This article tried to discuss Heaps. Hope this blog helps you understand and solve the problem. To practice more problems on Heaps you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CONCEPTS USED: Heaps. DIFFICULTY LEVEL: Easy. PROBLEM STATEMENT(SIMPLIFIED): Given an array containing N integers, your task is: To create min-heap(Insert elements one by one). Extract the minimum element from the heap created in the first step and print it. Print the extracted element and updated heap after extraction, separated by space. Note: Use heap concepts [&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":[131],"tags":[],"class_list":["post-2380","post","type-post","status-publish","format-standard","hentry","category-heap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Heap | Heap Operationspaid | Prepbytes<\/title>\n<meta name=\"description\" content=\"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.\" \/>\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\/heap-operations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Heap | Heap Operationspaid | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/heap-operations\/\" \/>\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-29T07:34:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-31T11:38:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Heap Operations\",\"datePublished\":\"2020-07-29T07:34:05+00:00\",\"dateModified\":\"2022-03-31T11:38:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/\"},\"wordCount\":202,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png\",\"articleSection\":[\"Heap\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/heap-operations\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/\",\"name\":\"Heap | Heap Operationspaid | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png\",\"datePublished\":\"2020-07-29T07:34:05+00:00\",\"dateModified\":\"2022-03-31T11:38:42+00:00\",\"description\":\"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/heap-operations\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/heap-operations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Heap\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/heap\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Heap Operations\"}]},{\"@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":"Heap | Heap Operationspaid | Prepbytes","description":"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.","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\/heap-operations\/","og_locale":"en_US","og_type":"article","og_title":"Heap | Heap Operationspaid | Prepbytes","og_description":"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.","og_url":"https:\/\/prepbytes.com\/blog\/heap-operations\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-07-29T07:34:05+00:00","article_modified_time":"2022-03-31T11:38:42+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png","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\/heap-operations\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Heap Operations","datePublished":"2020-07-29T07:34:05+00:00","dateModified":"2022-03-31T11:38:42+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/"},"wordCount":202,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png","articleSection":["Heap"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/heap-operations\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/","url":"https:\/\/prepbytes.com\/blog\/heap-operations\/","name":"Heap | Heap Operationspaid | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png","datePublished":"2020-07-29T07:34:05+00:00","dateModified":"2022-03-31T11:38:42+00:00","description":"To Create Min-heap(insert Elements One by One). Extract the Minimum Element from the Heap Created in the First Step and Print It. Print the Extracted Element.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/heap-operations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1648726037684-Heap%20Operations.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/heap-operations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Heap","item":"https:\/\/prepbytes.com\/blog\/category\/heap\/"},{"@type":"ListItem","position":3,"name":"Heap Operations"}]},{"@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\/2380","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=2380"}],"version-history":[{"count":9,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2380\/revisions"}],"predecessor-version":[{"id":8415,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2380\/revisions\/8415"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=2380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=2380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=2380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}