{"id":5093,"date":"2021-09-20T08:53:24","date_gmt":"2021-09-20T08:53:24","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=5093"},"modified":"2022-11-21T12:36:18","modified_gmt":"2022-11-21T12:36:18","slug":"sorted-merge-of-two-sorted-doubly-circular-linked-lists","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/","title":{"rendered":"Sorted merge of two sorted doubly circular linked lists"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png\" alt=\"\" \/><\/p>\n<p>In the previous articles, we have already seen different implementations on circular singly linked list and circular doubly linked list. Now let&#8217;s just look into an approach on how to merge two circular linked list.<\/p>\n<h2>How to Merge Two Circular Linked List<\/h2>\n<p>In this problem, we are given two sorted doubly circular linked lists containing n and m number of nodes, respectively. Our task is to merge the two lists such that the resultant doubly circular linked list is also in sorted order.<\/p>\n<p>Let\u2019s try to understand this problem with the help of examples.<\/p>\n<p>If the given sorted doubly circular linked lists are:<br \/>\n<strong>list 1:<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_1-12.png\" alt=\"\" \/><\/p>\n<p><strong>list 2:<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_2-13.png\" alt=\"\" \/><\/p>\n<ul>\n<li>According to the problem statement, we need to merge <strong>list 1<\/strong> and <strong>list 2<\/strong> in such a way that the final merged list is in the sorted order.<\/li>\n<li>After merging <strong>list 1<\/strong> and <strong>list 2<\/strong>, our final merged sorted doubly circular linked list will be:<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_3-7.png\" alt=\"\" \/><\/li>\n<\/ul>\n<p>Taking another example, if the linked lists are:<\/p>\n<p><strong>list 1:<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_4-3.png\" alt=\"\" \/><\/p>\n<p><strong>list 2:<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_5.png\" alt=\"\" \/><\/p>\n<ul>\n<li>In this case, our final sorted doubly circular linked list after merging <strong>list 1<\/strong>, and <strong>list 2<\/strong> will be:<br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_6.png\" alt=\"\" \/><\/li>\n<\/ul>\n<p>Now, I think from the above examples, the problem statement is clear. Let\u2019s see how we can approach it.<\/p>\n<p>Before moving to the approach section, try to think how you can approach this problem.<\/p>\n<p>If stuck, no problem, we will thoroughly see how we can approach this problem in the next section.<br \/>\nLet\u2019s move to the approach section.<\/p>\n<h2>Approach  on how to merge two circular linked list<\/h2>\n<p>Our approach will be straightforward:<\/p>\n<ul>\n<li>Basically, first, we will find the node, which will be the last node of our final merged doubly circular linked list.<\/li>\n<li>As we know that our two given doubly circular linked list are sorted, so one thing is clear, that the last node of our final merged doubly circular linked list will be one which is having greater value among the last nodes of the two doubly circular linked list.<\/li>\n<li>We will keep track of this node using a pointer, say <strong>last_node.<\/strong><\/li>\n<li>Now we will make the last nodes of the given doubly circular linked lists point to NULL.<\/li>\n<li>Then after that we will merge the two doubly circular linked list in the same way we merge two sorted doubly linked list.<\/li>\n<\/ul>\n<p><strong>&#8211; If you are not aware of how to merge two sorted doubly circular linked list, checkout our article [Merge two sorted doubly linked list]().<\/strong><\/p>\n<ul>\n<li>After merging the two sorted doubly linked list, we will make the merged list circular using the <strong>last_node.<\/strong><\/li>\n<li>And finally, we will have our sorted merged doubly circular linked list.<\/li>\n<\/ul>\n<p><strong>Let\u2019s see the algorithm.<\/strong><\/p>\n<h2>Algorithm on how to merge two circular linked list<\/h2>\n<ul>\n<li>Let <strong>h1<\/strong> be a pointer pointing to the head node of the first doubly circular linked list, and <strong>h2<\/strong> be the pointer pointing to the head node of the second list.<\/li>\n<li>If <strong>h2<\/strong> is NULL, return <strong>h1<\/strong>.<\/li>\n<li>If <strong>h1<\/strong> is NULL, return <strong>h2<\/strong>.<\/li>\n<li>Suppose <strong>lst1<\/strong> and <strong>lst2<\/strong> are the last nodes of the two doubly circular linked lists, respectively.\n<ul>\n<li><strong>lst1<\/strong> and <strong>lst2<\/strong> can be obtained by the previous links of the first nodes of the respective lists.<\/li>\n<\/ul>\n<\/li>\n<li>Get a pointer to the node, which will be the last node of the final resultant linked list result.\n<ul>\n<li>If <strong>lst1\u2192data<\/strong> is less than <strong>lst2\u2192data<\/strong>, then <strong>last_node = lst2<\/strong>.<\/li>\n<li>Else, <strong>last_node = lst1<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li>Now update <strong>lst1\u2192next = lst2\u2192next = NULL<\/strong>.<\/li>\n<li>We will now merge the two lists as two sorted doubly linked lists are being merged.<\/li>\n<li>Let the first node of the final sorted doubly circular linked list be <strong>ResHead<\/strong>. <\/li>\n<li>Finally, update the *<strong>prev<\/strong> of <strong>ResHead<\/strong> to <strong>last_node<\/strong> and <strong>next<\/strong> of <strong>last_node<\/strong> to <strong>ResHead<\/strong>.<\/li>\n<li>At the end, return <strong>ResHead<\/strong>.<\/li>\n<\/ul>\n<h3>Dry Run on how to merge two circular linked list<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_7.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_8.png\" alt=\"\" \/><\/p>\n<p>## Code Implementation on how to merge two circular linked list<br \/>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_5094 {\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_5094 .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_5094 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_5094 .wpsm_nav-tabs > li.active > a, #tab_container_5094 .wpsm_nav-tabs > li.active > a:hover, #tab_container_5094 .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_5094 .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_5094 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_5094 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_5094 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_5094 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_5094 .wpsm_nav-tabs > li > a:hover , #tab_container_5094 .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_5094 .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_5094 .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_5094 .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_5094 .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_5094 .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_5094 .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_5094 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_5094 .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_5094 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_5094 .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_5094 .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_5094\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_5094\">\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_5094_1\" aria-controls=\"tabs_desc_5094_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_5094\">\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_5094_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 <bits\/stdc++.h>\r\nusing namespace std;\r\n\r\n\/* Node structure of a doubly linked list node *\/\r\nstruct Node {\r\n    int data;\r\n    Node *next, *prev;\r\n};\r\n\r\n\/* Using this function we will be inserting a new node in the list *\/\r\nvoid insert(Node** head, int data)\r\n{\r\n    Node* new_node = new Node;\r\n    new_node->data = data;\r\n    if (*head == NULL) {\r\n        new_node->next = new_node;\r\n        new_node->prev = new_node;\r\n    }\r\n\r\n    else {\r\n\r\n        Node* last = (*head)->prev;\r\n        new_node->next = *head;\r\n        new_node->prev = last;\r\n        last->next = (*head)->prev = new_node;\r\n    }\r\n\r\n    *head = new_node;\r\n}\r\n\r\n\/* Using this function we will be merging two sorted doubly linked list *\/\r\n\/\/merge2SortedDLL stands for merge two sorted doubly linked list\r\nNode* merge2SortedDLL(Node* l1, Node* l2)\r\n{\r\n    if (!l1)\r\n        return l2;\r\n\r\n    if (!l2)\r\n        return l1;\r\n\r\n    if (l1->data < l2->data) {\r\n        l1->next = merge2SortedDLL(l1->next, l2);\r\n        l1->next->prev = l1;\r\n        l1->prev = NULL;\r\n        return l1;\r\n    }\r\n    else {\r\n        l2->next = merge2SortedDLL(l1, l2->next);\r\n        l2->next->prev = l2;\r\n        l2->prev = NULL;\r\n        return l2;\r\n    }\r\n}\r\n\r\n\/* Using this function we will be merging two sorted doubly circular linked list *\/\r\n\/\/merge2SortedDCLL stands for merge two sorted doubly circular linked list\r\nNode* merge2SortedDCLL(Node* h1, Node* h2)\r\n{\r\n    if (!h1)\r\n        return h2;\r\n\r\n    if (!h2)\r\n        return h1;\r\n\r\n    Node* last_node;\r\n    if (h1->prev->data < h2->prev->data)\r\n        last_node = h2->prev;\r\n    else\r\n        last_node = h1->prev;\r\n\r\n    h1->prev->next = h2->prev->next = NULL;\r\n\r\n    Node* ResHead = merge2SortedDLL(h1, h2);\r\n\r\n    \r\n    ResHead->prev = last_node;\r\n    last_node->next = ResHead;\r\n\r\n    return ResHead;\r\n}\r\n\r\n\/* Using this function we will be printing the linked list content *\/\r\nvoid PrintingList(Node* head)\r\n{\r\n    Node* temp = head;\r\n\r\n    while (temp->next != head) {\r\n        cout << temp->data << \" \";\r\n        temp = temp->next;\r\n    }\r\n    cout << temp->data << \" \"<<endl;\r\n}\r\n\r\nint main()\r\n{\r\n    Node *list1 = NULL, *list2 = NULL;\r\n\r\n    \/\/Insertion in list 1\r\n    insert(&list1, 7);\r\n    insert(&list1, 5);\r\n    insert(&list1, 3);\r\n    insert(&list1, 1);\r\n\r\n    \/\/Insertion in list 2\r\n    insert(&list2, 8);\r\n    insert(&list2, 6);\r\n    insert(&list2, 4);\r\n    insert(&list2, 2);\r\n    \r\n    cout<<\"Original linked list 1: \"<<endl;\r\n    PrintingList(list1);\r\n    cout<<\"Original linked list 2: \"<<endl;\r\n    PrintingList(list2);\r\n\r\n    Node* newHead = merge2SortedDCLL(list1, list2);\r\n\r\n    cout << \"Final Sorted List: \"<<endl;\r\n    PrintingList(newHead);\r\n\r\n    return 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\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_5094 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_5094 a\"),jQuery(\"#tab-content_5094\"));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<\/p>\n<p>    Output<br \/>\n    Original linked list 1: 1 3 5 7<br \/>\n    Original linked list 2: 2 4 6 8<br \/>\n    Final Sorted List: 1 2 3 4 5 6 7 8<\/p>\n<p>**Time Complexity of how to merge two circular linked list:** O(n+m), as each list is traversed completely.<\/p>\n<p>**Conclusion**<\/p>\n<p>So, in this article, We learnt how to merge of two circular linked lists, even though we are aware about how a normal linked list can be merged, the approach of circular linked is different.This is a basic problem and is good for strengthening your concepts in LinkedList and if you want to practice more such problems, you can checkout [Prepbytes (Linked List)](https:\/\/mycode.prepbytes.com\/interview-coding\/practice\/linked-list &#8220;Prepbytes (Linked List)&#8221;)<\/p>\n<p>## FAQs<\/p>\n<p>**1. What is a circular linked list?**<br \/>\nA circular linked list is a structured collection of various elements which are connected to form a shape of circle with no null at the end.<\/p>\n<p>**2. What are the applications of circular linked lists?**<br \/>\nA circular linked list can be used for computer resource management and also used for implementing advanced data structures such as fibonacci heap.<\/p>\n<p>**3. How do you find the circular linked list?**<br \/>\nWe will store the header node into some other variable and traverse through the list, if we will get null at any part of list then it is not circular linked list and if no then it is a circular linked list.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous articles, we have already seen different implementations on circular singly linked list and circular doubly linked list. Now let&#8217;s just look into an approach on how to merge two circular linked list. How to Merge Two Circular Linked List In this problem, we are given two sorted doubly circular linked lists containing [&hellip;]<\/p>\n","protected":false},"author":3,"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-5093","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>Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.\" \/>\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\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\" \/>\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=\"2021-09-20T08:53:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T12:36:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\"},\"author\":{\"name\":\"PrepBytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e\"},\"headline\":\"Sorted merge of two sorted doubly circular linked lists\",\"datePublished\":\"2021-09-20T08:53:24+00:00\",\"dateModified\":\"2022-11-21T12:36:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\"},\"wordCount\":862,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\",\"name\":\"Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png\",\"datePublished\":\"2021-09-20T08:53:24+00:00\",\"dateModified\":\"2022-11-21T12:36:18+00:00\",\"description\":\"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#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\":\"Sorted merge of two sorted doubly circular linked lists\"}]},{\"@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\/39fcf072e04987f16796546f2ca83c2e\",\"name\":\"PrepBytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"caption\":\"PrepBytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog","description":"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.","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\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/","og_locale":"en_US","og_type":"article","og_title":"Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog","og_description":"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.","og_url":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-09-20T08:53:24+00:00","article_modified_time":"2022-11-21T12:36:18+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png","type":"","width":"","height":""}],"author":"PrepBytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"PrepBytes","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/"},"author":{"name":"PrepBytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e"},"headline":"Sorted merge of two sorted doubly circular linked lists","datePublished":"2021-09-20T08:53:24+00:00","dateModified":"2022-11-21T12:36:18+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/"},"wordCount":862,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/","url":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/","name":"Sorted merge of two sorted doubly circular linked lists | Linked list articles | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png","datePublished":"2021-09-20T08:53:24+00:00","dateModified":"2022-11-21T12:36:18+00:00","description":"Learn the most efficient way to perform a sorted merge of two sorted doubly circular linked lists.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645007467606-Article_159.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/sorted-merge-of-two-sorted-doubly-circular-linked-lists\/#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":"Sorted merge of two sorted doubly circular linked lists"}]},{"@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\/39fcf072e04987f16796546f2ca83c2e","name":"PrepBytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","caption":"PrepBytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5093","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=5093"}],"version-history":[{"count":6,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5093\/revisions"}],"predecessor-version":[{"id":10672,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/5093\/revisions\/10672"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=5093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=5093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=5093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}