

{"id":143291,"date":"2024-09-02T10:34:01","date_gmt":"2024-09-02T05:04:01","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=143291"},"modified":"2024-09-02T10:34:01","modified_gmt":"2024-09-02T05:04:01","slug":"deletion-in-circular-doubly-linked-list-in-dsa-python","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/","title":{"rendered":"Deletion in Circular Doubly Linked List in DSA Python"},"content":{"rendered":"<h3>Program 1<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># implementation of doubly Circular Linked list\r\nclass Node:\r\n    def __init__(self):\r\n        self.ladd=None\r\n        self.data=None\r\n        self.radd=None\r\n\r\nclass CircularDoubleList:\r\n     def __init__(self):\r\n          self.start=None\r\n          self.count=0\r\n          # method for create list\r\n     def createList(self):\r\n         n=int(input(\"Enter an element\"))\r\n         self.start=Node()\r\n         self.start.ladd=None\r\n         self.start.data=n\r\n         self.start.radd=None\r\n         temp=self.start\r\n         self.count=self.count+1\r\n         choice=input(\"Want to continue: \")\r\n         while(choice==\"Y\" or choice==\"y\"):\r\n              n=int(input(\"Enter next element\"))\r\n              newnode=Node()\r\n              newnode.ladd=None\r\n              newnode.data=n\r\n              newnode.radd=None\r\n              temp.radd=newnode\r\n              newnode.ladd=temp\r\n              self.start.ladd=newnode\r\n              newnode.radd=self.start\r\n              temp=temp.radd\r\n              self.count=self.count+1\r\n              choice=input(\"Want to continue: \")\r\n      \r\n      # method for display    \r\n     def displayList(self):\r\n         if(self.start==None):\r\n             print(\"List not found\")\r\n         else:\r\n             temp=self.start\r\n             print()\r\n             while(1):\r\n                 print(temp.data,end=\" \") \r\n                 temp=temp.radd\r\n                 if(temp==self.start):\r\n                     break   \r\n             print(\"\\nTotal Node is : \" ,self.count)         \r\n\r\n       # method for reverse display    \r\n     def reversedisplayList(self):\r\n          if(self.start==None):\r\n             print(\"List not found\")\r\n          else: \r\n           temp=self.start.ladd \r\n           temp1=self.start.ladd \r\n           while(1):\r\n               print(temp.data,end=\" \")\r\n               temp=temp.ladd\r\n               if(temp==temp1):\r\n                   break\r\n\r\n      # method for insert first         \r\n     def insertFirst(self):\r\n         if(self.start==None):\r\n             print(\"List not found\")\r\n         else:\r\n             last=self.start\r\n             last=last.ladd\r\n             n=int(input(\"Enter an element for insert\"))    \r\n             newnode=Node()\r\n             newnode.ladd=None\r\n             newnode.data=n\r\n             newnode.radd=None\r\n             newnode.radd=self.start\r\n             self.start=ladd=newnode\r\n             self.start=newnode\r\n             self.start.ladd=last\r\n             last.radd=self.start\r\n             self.count=self.count+1\r\n     # method for insert last      \r\n     def insertLast(self):\r\n         if(self.start==None):\r\n             print(\"List not found\")\r\n         else:\r\n             last=self.start.ladd \r\n             n=int(input(\"Enter an element\"))   \r\n             newnode=Node()\r\n             newnode.ladd=None\r\n             newnode.data=n\r\n             newnode.radd=None\r\n             last.radd=newnode\r\n             newnode.ladd=last\r\n             self.start.ladd=newnode\r\n             newnode.radd=self.start\r\n             self.count=self.count+1\r\n\r\n     # Method for delete last\r\n     def deleteLast(self):\r\n             if(self.start==None):\r\n                 print(\"List not found\")\r\n             else:\r\n                 temp=self.start.ladd\r\n                 prev=temp.ladd\r\n                 self.start.ladd=prev\r\n                 prev.radd=self.start\r\n                 print(\"Delete node is: \",temp.data)\r\n                 temp.ladd=None\r\n                 temp.radd=None\r\n                 temp=None\r\n                 self.count=self.count-1\r\n\r\n\r\n       # Method for delete middle node\r\n     def deleteMiddle(self):\r\n           if(self.start==None):\r\n                print(\"List not found\")\r\n           else:\r\n                pos=int(input(\"Enter middle position for delete\"))\r\n                if(pos&gt;self.count):\r\n                     print(\"Invalid postion total node is: \",self.count)\r\n                else:\r\n                     i=1\r\n                     temp=self.start\r\n                     while(i&lt;pos):\r\n                        temp=temp.radd     \r\n                        i=i+1\r\n                     prev=temp.ladd\r\n                     next=temp.radd   \r\n                     prev.radd=next\r\n                     next.ladd=prev     \r\n                     print(\"Deleted node is:\",temp.data)\r\n                     temp.radd=None\r\n                     temp.ladd=None\r\n                     temp=None\r\n                     self.count=self.count-1\r\n\r\n     # Method for delete First\r\n     def deleteFirst(self):\r\n         if(self.start==None):\r\n             print(\"List not found\")\r\n         else:\r\n             temp=self.start\r\n             last=self.start.ladd\r\n             self.start=self.start.radd\r\n             self.start.ladd=last\r\n             last.radd=self.start\r\n             print(\"Deleted node is: \",temp.data)\r\n             temp.ladd=None\r\n             temp.radd=None\r\n             temp=None    \r\n             self.count=self.count-1\r\n\r\n       #Method for insert middle position\r\n     def insertMiddle(self):\r\n           if(self.start==None):\r\n                print(\"List not found\")\r\n           else:\r\n                n=int(input(\"Enter an element for insert at middle\"))     \r\n                newnode=Node()\r\n                newnode.ladd=None\r\n                newnode.data=n\r\n                newnode.radd=None\r\n                pos=int(input(\"Enter middle position\"))\r\n                if(pos&gt;self.count):\r\n                     print(\"Invalid position total node only: \",self.count)\r\n                else:\r\n                     i=1\r\n                     next=self.start\r\n                     while(i&lt;pos):\r\n                          prev=next\r\n                          next=next.radd\r\n                          i=i+1\r\n\r\n                     prev.radd=newnode\r\n                     newnode.ladd=prev\r\n                     newnode.radd=next\r\n                     next.ladd=newnode\r\n                     self.count=self.count+1\r\n\r\n# Main Menu\r\nmylist=CircularDoubleList()\r\nwhile(1):\r\n    print(\"------------------Circular Doubly Linked List-----------------\")\r\n    print(\"1.Create\")\r\n    print(\"2.Display\")\r\n    print(\"3.Reverse Display\")\r\n    print(\"4.Insert First\")\r\n    print(\"5.Insert Last\")\r\n    print(\"6.Insert Middle\")\r\n    print(\"7.Delete First\")\r\n    print(\"8.Delete Last\")\r\n    print(\"9.Delete Middle\")\r\n    print(\"10.Exit\")\r\n    print(\"----------------------------------------------------------------\")\r\n    choice=int(input(\"Enter your choice\"))\r\n    if(choice==1):\r\n        mylist.createList()\r\n    elif(choice==2):\r\n        mylist.displayList()\r\n    elif(choice==3):\r\n        mylist.reversedisplayList()\r\n    elif(choice==4):\r\n        mylist.insertFirst()\r\n    elif(choice==5):\r\n        mylist.insertLast()\r\n    elif(choice==6):\r\n        mylist.insertMiddle()\r\n    elif(choice==7):\r\n        mylist.deleteFirst()\r\n    elif(choice==8):\r\n        mylist.deleteLast()\r\n    elif(choice==9):\r\n        mylist.deleteMiddle()\r\n    else:\r\n        break\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program 1 # implementation of doubly Circular Linked list class Node: def __init__(self): self.ladd=None self.data=None self.radd=None class CircularDoubleList: def __init__(self): self.start=None self.count=0 # method for create list def createList(self): n=int(input(&#8220;Enter an element&#8221;)) self.start=Node() self.start.ladd=None&#46;&#46;&#46;<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32847],"tags":[32966,32971,32969,32853,32922,32923,32970,32848],"class_list":["post-143291","post","type-post","status-publish","format-standard","hentry","category-dsa-python-tutorials","tag-circular-doubly-linked-list-in-dsa-python","tag-delete-node-in-circular-doubly-linked-list","tag-deletion-in-circular-doubly-linked-list-in-dsa-python","tag-dsa-python","tag-dsa-python-practical","tag-dsa-python-program","tag-dsa-python-program-on-deletion-in-circular-doubly-linked-list","tag-dsa-using-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deletion in Circular Doubly Linked List in DSA Python - DataFlair<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deletion in Circular Doubly Linked List in DSA Python - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Program 1 # implementation of doubly Circular Linked list class Node: def __init__(self): self.ladd=None self.data=None self.radd=None class CircularDoubleList: def __init__(self): self.start=None self.count=0 # method for create list def createList(self): n=int(input(&quot;Enter an element&quot;)) self.start=Node() self.start.ladd=None&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-02T05:04:01+00:00\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deletion in Circular Doubly Linked List in DSA Python - DataFlair","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:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/","og_locale":"en_US","og_type":"article","og_title":"Deletion in Circular Doubly Linked List in DSA Python - DataFlair","og_description":"Program 1 # implementation of doubly Circular Linked list class Node: def __init__(self): self.ladd=None self.data=None self.radd=None class CircularDoubleList: def __init__(self): self.start=None self.count=0 # method for create list def createList(self): n=int(input(\"Enter an element\")) self.start=Node() self.start.ladd=None&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2024-09-02T05:04:01+00:00","author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445"},"headline":"Deletion in Circular Doubly Linked List in DSA Python","datePublished":"2024-09-02T05:04:01+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/"},"wordCount":11,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"keywords":["circular doubly linked list in dsa python","delete node in circular doubly linked list","deletion in circular doubly linked list in dsa python","dsa python","dsa python practical","dsa python program","dsa python program on deletion in circular doubly linked list","dsa using python"],"articleSection":["DSA using Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/","url":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/","name":"Deletion in Circular Doubly Linked List in DSA Python - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"datePublished":"2024-09-02T05:04:01+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/deletion-in-circular-doubly-linked-list-in-dsa-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"DSA using Python Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/dsa-python-tutorials\/"},{"@type":"ListItem","position":3,"name":"Deletion in Circular Doubly Linked List in DSA Python"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam6\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/143291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=143291"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/143291\/revisions"}],"predecessor-version":[{"id":143293,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/143291\/revisions\/143293"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=143291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=143291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=143291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}