DS Practical 1-9 INPUTS
DS Practical 1-9 INPUTS
class Node:
def __init__(self,data):
self.item=data
self.next=None
self.prev=None
class doublyLinkedList:
def __init__(self):
self.start_node=None
def InsertToEmptyList(self,data):
if self.start_node is None:
new_node=Node(data)
self.start_node=new_node
else:
def InsertToEnd(self,data):
if self.start_node is None:
new_node=Node(data)
self.start_node=new_node
return
n=self.start_node
n=n.next
new_node=Node(data)
n.next=new_node
new_node.prev=n
def DeleteAtStart(self):
if self.start_node is None:
return
if self.start_node.next is None:
self.start_node=None;
def delete_at_end(self):
if self.start_node is None:
return
if self.start_node.next is None:
self.start_node=None
return
n=self.start_node
n=n.next
n.prev.next=None
def Display(self):
if self.start_node is None:
return
else:
n=self.start_node
print("Element is:",n.item)
n=n.next
print("\n")
NewDoublyLinkedList=doublyLinkedList()
NewDoublyLinkedList.InsertToEmptyList(10)
NewDoublyLinkedList.InsertToEnd(20)
NewDoublyLinkedList.InsertToEnd(30)
NewDoublyLinkedList.InsertToEnd(40)
NewDoublyLinkedList.InsertToEnd(50)
NewDoublyLinkedList.InsertToEnd(60)
#display data
NewDoublyLinkedList.Display()
NewDoublyLinkedList.DeleteAtStart()
NewDoublyLinkedList.delete_at_end()
#display data
NewDoublyLinkedList.Display()
Prac cal-05A: WAP to implement queue Abstract Data Type(ADT).
,
Prac cal-07B: WAP to implement tree traversal.
Prac cal-08A: WAP to implement Graph Data Structure.