Delete a Node in Single Linked List Python
- Get link
- X
- Other Apps
PROGRAM TO DELETE A NODE FROM SINGLY LINKED LIST
# Node class
class
Node:
# Constructor to initialize the node object
def
__init__(
self
, data):
self
.data
=
data
self
.
next
=
None
class
LinkedList:
# Function to initialize head
def
__init__(
self
):
self
.head
=
None
# Function to insert a new node at the beginning
def
push(
self
, new_data):
new_node
=
Node(new_data)
new_node.
next
=
self
.head
self
.head
=
new_node
# Given a reference to the head of a list and a key,
# delete the first occurence of key in linked list
def
deleteNode(
self
, key):
# Store head node
temp
=
self
.head
# If head node itself holds the key to be deleted
if
(temp
is
not
None
):
if
(temp.data
=
=
key):
self
.head
=
temp.
next
temp
=
None
return
# Search for the key to be deleted, keep track of the
# previous node as we need to change 'prev.next'
while
(temp
is
not
None
):
if
temp.data
=
=
key:
break
prev
=
temp
temp
=
temp.
next
# if key was not present in linked list
if
(temp
=
=
None
):
return
# Unlink the node from linked list
prev.
next
=
temp.
next
temp
=
None
# Utility function to print the linked LinkedList
def
printList(
self
):
temp
=
self
.head
while
(temp):
print
(
" %d"
%
(temp.data)),
temp
=
temp.
next
# Driver program
llist
=
LinkedList()
llist.push(
7
)
llist.push(
1
)
llist.push(
3
)
llist.push(
2
)
print
(
"Created Linked List: "
)
llist.printList()
llist.deleteNode(
1
)
print
(
"\nLinked List after Deletion of 1:"
)
llist.printList()
OUTPUT
Created Linked List: 2 3 1 7 Linked List after Deletion of 1: 2 3 7
- Get link
- X
- Other Apps
Comments
Post a Comment