Create, Display and Reverse Display in Circular Doubly Linked List in DSA Python
by DataFlair Team
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
self.start.data=n
self.start.radd=None
temp=self.start
self.count=self.count+1
choice=input("Want to continue: ")
while(choice=="Y" or choice=="y"):
n=int(input("Enter next element"))
newnode=Node()
newnode.ladd=None
newnode.data=n
newnode.radd=None
temp.radd=newnode
newnode.ladd=temp
self.start.ladd=newnode
newnode.radd=self.start
temp=temp.radd
self.count=self.count+1
choice=input("Want to continue: ")
# method for display
def displayList(self):
if(self.start==None):
print("List not found")
else:
temp=self.start
print()
while(1):
print(temp.data,end=" ")
temp=temp.radd
if(temp==self.start):
break
print("\nTotal Node is : " ,self.count)
# method for reverse display
def reversedisplayList(self):
if(self.start==None):
print("List not found")
else:
temp=self.start.ladd
temp1=self.start.ladd
while(1):
print(temp.data,end=" ")
temp=temp.ladd
if(temp==temp1):
break
# Main Menu
mylist=CircularDoubleList()
while(1):
print("------------------Circular Doubly Linked List-----------------")
print("1.Create")
print("2.Display")
print("3.Reverse Display")
print("4.Insert First")
print("5.Insert Last")
print("6.Insert Middle")
print("7.Delete First")
print("8.Delete Last")
print("9.Delete Middle")
print("10.Exit")
print("----------------------------------------------------------------")
choice=int(input("Enter your choice"))
if(choice==1):
mylist.createList()
elif(choice==2):
mylist.displayList()
elif(choice==3):
mylist.reversedisplayList()
else:
break
Tags: circular doubly linked listcircular doubly linked list in dsa pythoncreate display reverse display in circular doubly linked listcreate display reverse display in circular doubly linked list in dsa pythondsa pythondsa python practicaldsa python programdsa python program on circular doubly linked listdsa using python
DataFlair Team
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.