{"id":9214,"date":"2022-08-26T11:55:46","date_gmt":"2022-08-26T11:55:46","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9214"},"modified":"2022-12-14T11:44:02","modified_gmt":"2022-12-14T11:44:02","slug":"how-to-create-a-mergeable-stack","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/","title":{"rendered":"How to create a mergeable stack?"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\" alt=\"\" \/><\/p>\n<\/p>\n<p>Let\u2019s assume there are 2 stacks. Stack A and Stack B. Now we are going to push elements in both the stacks.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514199415-How%20to%20create%20mergable%20stack%3F-1.png\" alt=\"\" \/><\/p>\n<p>After Merge Operation we will push all elements of Stack B in Stack A.<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514263554-How%20to%20create%20mergable%20stack%3F-2.png\" alt=\"\" \/><\/p>\n<h3>Brief about Stack Data structure:<\/h3>\n<p>A stack is a <a href=\"https:\/\/prepbytes.com\/blog\/stacks\/difference-between-stack-and-queue-data-structures\/\">linear data structure<\/a> that follows the principle of Last In First Out (LIFO). This means the last element inserted inside the stack will be on the top of the stack.<\/p>\n<p>Our task is to design a stack having these functions:-<\/p>\n<ol>\n<li><strong>push(s, x)<\/strong>: push an element x into stack s. <\/li>\n<li><strong>pop(s)<\/strong>: pop element from stack s.<\/li>\n<li><strong>merge( s1, s2)<\/strong>: Merge stack s2 into s1. <\/li>\n<\/ol>\n<p><strong>Logic<\/strong>: <\/p>\n<ol>\n<li>\n<p>If we choose an <strong>Array<\/strong> data structure to create mergeable stack then the time complexity of the merge() function will be more than O(1). Because while merging stack 2 into stack 1 firstly, we have to create a new array for stack 1 of size equal to the number of elements in both stacks and then copy all elements of both stacks in this newly created array for stack 1. So, we can see that this approach is not optimised.<\/p>\n<\/li>\n<li>\n<p>What if we choose the <strong>Linked List<\/strong> data structure to create a mergeable stack?<br \/>\na. We can use the linked list data structure with two pointers.<br \/>\nb. The first pointer to point the first node of the linked list and the second pointer to point the last node of the linked list so that we can easily connect a new node to the linked list i.e (we don\u2019t have to traverse the whole linked list so that we can reach the end of the linked list to add a new node there).<br \/>\nc. Another benefit of using two pointers is when the merge() function will be called at that moment we can easily join the last node of one linked list (stack 1) with the first node of another linked list (stack 2) and in this way, we will easily merge two linked list i.e two stacks.<br \/>\nd. <strong>push()<\/strong>: To add a new node i.e (new element into the stack) to the linked list. The new node is added at the beginning of the linked list using the first pointer.<br \/>\ne. <strong>pop()<\/strong>: To delete a node from the linked list. Remove a node from the beginning using the first pointer.<br \/>\nf. <strong>merge()<\/strong>: This function is to merge stack 2\u2019s linked list with stack 1\u2019s linked list. The first pointer of the second stack is assigned to the next pointer of the last pointer of the first linked list.<\/p>\n<\/li>\n<\/ol>\n<h3>Code Implementation:<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9344 {\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_9344 .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_9344 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9344 .wpsm_nav-tabs > li.active > a, #tab_container_9344 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9344 .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_9344 .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_9344 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9344 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9344 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9344 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9344 .wpsm_nav-tabs > li > a:hover , #tab_container_9344 .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_9344 .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_9344 .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_9344 .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_9344 .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_9344 .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_9344 .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_9344 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9344 .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_9344 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9344 .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_9344 .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_9344\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9344\">\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_9344_1\" aria-controls=\"tabs_desc_9344_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\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_9344\">\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_9344_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;iostream&gt;\r\nusing namespace std;\r\n\r\n\/\/ node class\r\nclass node {\r\npublic:\r\n    int data;\r\n    node* next;\r\n};\r\n\r\n\/\/ mystack class\r\nclass mystack {\r\npublic:\r\n    node* head;\r\n    node* tail;\r\n    \/\/ mystack constructor \r\n    mystack(){\r\n        head = NULL;\r\n        tail = NULL;\r\n    }\r\n};\r\n\r\n\r\nmystack* create(){\r\n    \/\/ creating a new stack\r\n    mystack* ms = new mystack(); \r\n    return ms;\r\n}\r\n \r\nvoid push(int data, mystack* ms){\r\n    \/\/ creating new node \r\n    node* new_Node = new node();\r\n    \/\/ assign value \r\n    new_Node-&gt;data = data;\r\n    new_Node-&gt;next = ms-&gt;head;\r\n \r\n    if (ms-&gt;head == NULL){\r\n        ms-&gt;tail = new_Node;\r\n    }\r\n     \r\n    ms-&gt;head = new_Node;\r\n}\r\n \r\nint pop(mystack* ms){\r\n    if (ms-&gt;head == NULL) {\r\n        cout &lt;&lt; &quot;stack already empty&quot; &lt;&lt; endl;\r\n        return 0;\r\n    }\r\n    else {\r\n        node* temp = ms-&gt;head;\r\n        ms-&gt;head = ms-&gt;head-&gt;next;\r\n        int popped = temp-&gt;data;\r\n        delete temp;\r\n        return popped;\r\n    }\r\n}\r\n \r\n\/\/ merge function to merge stack-2 into stack-1\r\nvoid merge(mystack* ms1, mystack* ms2){\r\n    if (ms1-&gt;head == NULL){\r\n    ms1-&gt;head = ms2-&gt;head;\r\n    ms1-&gt;tail = ms2-&gt;tail;\r\n    return;\r\n    }\r\n\r\n    \/\/ merging stack-2 with stack-1\r\n    \/\/ by linking tail node of stack-1 with tail node of stack-2\r\n    ms1-&gt;tail-&gt;next = ms2-&gt;head;\r\n    ms1-&gt;tail = ms2-&gt;tail;\r\n}\r\n \r\nvoid print(mystack* ms){\r\n    node* temp = ms-&gt;head;\r\n    while (temp != NULL) {\r\n        cout &lt;&lt; temp-&gt;data &lt;&lt; &quot; &quot;;\r\n        temp = temp-&gt;next;\r\n    }\r\n}\r\n \r\nint main(){\r\n    mystack* ms1 = create();\r\n    mystack* ms2 = create();\r\n \r\n    \/\/ creating node and pushing this new node into stack\r\n    push(6, ms1);\r\n    push(5, ms1);\r\n    push(4, ms1);\r\n    push(9, ms2);\r\n    push(8, ms2);\r\n    push(7, ms2);\r\n\r\n    \/\/ merge stack-2 into stack-1\r\n    merge(ms1, ms2);\r\n\r\n    print(ms1);\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_9344 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_9344 a\"),jQuery(\"#tab-content_9344\"));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>Output<\/strong>:<br \/>\n4 5 6 7 8 9<\/p>\n<p>This article tried to discuss How to create a mergeable stack?. Hope this blog helps you understand and solve the problem. To practice more problems you can check out <a href=\"#\"><\/a> at <a href=\"https:\/\/www.prepbytes.com\/\"> Prepbytes<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let\u2019s assume there are 2 stacks. Stack A and Stack B. Now we are going to push elements in both the stacks. After Merge Operation we will push all elements of Stack B in Stack A. Brief about Stack Data structure: A stack is a linear data structure that follows the principle of Last In [&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":[125],"tags":[],"class_list":["post-9214","post","type-post","status-publish","format-standard","hentry","category-linked-list"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to create a mergeable stack? | Stacks | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.\" \/>\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\/how-to-create-a-mergeable-stack\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create a mergeable stack? | Stacks | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-26T11:55:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-14T11:44:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"How to create a mergeable stack?\",\"datePublished\":\"2022-08-26T11:55:46+00:00\",\"dateModified\":\"2022-12-14T11:44:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\"},\"wordCount\":471,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\",\"name\":\"How to create a mergeable stack? | Stacks | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\",\"datePublished\":\"2022-08-26T11:55:46+00:00\",\"dateModified\":\"2022-12-14T11:44:02+00:00\",\"description\":\"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linked list articles\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/linked-list\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to create a mergeable stack?\"}]},{\"@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":"How to create a mergeable stack? | Stacks | PrepBytes Blog","description":"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.","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\/how-to-create-a-mergeable-stack\/","og_locale":"en_US","og_type":"article","og_title":"How to create a mergeable stack? | Stacks | PrepBytes Blog","og_description":"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.","og_url":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-08-26T11:55:46+00:00","article_modified_time":"2022-12-14T11:44:02+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"How to create a mergeable stack?","datePublished":"2022-08-26T11:55:46+00:00","dateModified":"2022-12-14T11:44:02+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/"},"wordCount":471,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/","url":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/","name":"How to create a mergeable stack? | Stacks | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg","datePublished":"2022-08-26T11:55:46+00:00","dateModified":"2022-12-14T11:44:02+00:00","description":"In this article, We are going to discuss How to create a mergeable stack. This is one of the most important questions in interview preparation.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661514167393-How%20to%20create%20mergable%20stack%3F%20hearder.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/how-to-create-a-mergeable-stack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Linked list articles","item":"https:\/\/prepbytes.com\/blog\/category\/linked-list\/"},{"@type":"ListItem","position":3,"name":"How to create a mergeable stack?"}]},{"@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\/9214","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=9214"}],"version-history":[{"count":4,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9214\/revisions"}],"predecessor-version":[{"id":9694,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9214\/revisions\/9694"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}