Professional Documents
Culture Documents
Date- 03/03/2024
Roll- 22CE8071
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def print_list(self):
cur_node = self.head
while cur_node:
print(cur_node.data, end=" -> ")
cur_node = cur_node.next
print("None")
prev = None
while cur_node and cur_node.data != key:
prev = cur_node
cur_node = cur_node.next
if cur_node is None:
return
prev.next = cur_node.next
cur_node = None
def delete_head(self):
if self.head is None:
return
self.head = self.head.next
def delete_last_node(self):
if self.head is None:
return
if self.head.next is None:
self.head = None
return
temp = self.head
while temp.next.next:
temp = temp.next
temp.next = None
def delete_list(self):
self.head = None
#Example
if __name__ == "__main__":
llist = LinkedList()
for i in range(1, 6): # Create a list of 1-5
llist.append(i)
print("Original List:")
llist.print_list()
llist.delete_node_by_value(3)
print("\nAfter deleting node by value (3):")
llist.print_list()
llist.delete_node_by_position(2)
print("\nAfter deleting node by position (2):")
llist.print_list()
llist.delete_head()
print("\nAfter deleting head node:")
llist.print_list()
llist.delete_last_node()
print("\nAfter deleting last node:")
llist.print_list()
llist.delete_list()
print("\nAfter deleting the entire list:")
llist.print_list()