In this post, We will see the implementation of Linked-List in python.
Let’s see the code implementation:
# Define a Node class
class Node:
# Define a constructor for
# initializing data and nextRef
# member values
# d : data
# self : refer to current object
def __init__(self, d) :
self.data = d
self.nextRef = None
# Define a traversal method
# for traversing each node
# of the Linked List
def traversal(head) :
temp = head
while(temp != None) :
print(temp.data,end = " ")
temp = temp.nextRef
# Define a deletion method
# for deleting any node
# of Linked List
def deletion(data, head) :
if head.data == data :
head = head.nextRef
return head
else:
temp = head
prev = None
while temp != None :
if temp.data == data :
prev.nextRef = temp.nextRef
temp.nextRef = None
return head
else :
prev = temp
temp = temp.nextRef
return head
# Define an insertion method
# for inserting nodes in
# the Linked List
def insert(head, data, pos) :
if pos == 0 :
newNode = Node(data)
newNode.nextRef = head
head = newNode
return
else :
newNode = Node(data)
i = 0
temp = head
while temp != None :
if i == (pos - 1) :
newNode.nextRef = temp.nextRef
temp.nextRef = newNode
return
else :
temp = temp.nextRef
i += 1
return
# Main code
if __name__ == "__main__" :
# Create a Node object
# with given data
newNode = Node(10)
# pointing head to the
# first node
head = newNode
insert(head,20,1)
insert(head,30,2)
insert(head,40,3)
print("Linked List Before Deletion: ")
traversal(head)
head = deletion(30,head)
print("\nLinked List After Deletion of Node with 30 data")
traversal(head)
Output:
Linked List Before Deletion: 10 20 30 40 Linked List After Deletion of Node with 30 data 10 20 40
Thanks for reading this Post.