Sorted order insertion of linked list in python 3
Python program for Sorted order insertion of linked list. Here problem description and explanation.
# Python 3 program for
# Add node in sorted order of linked list
# Linked list node
class LinkNode :
def __init__(self, data) :
self.data = data
self.next = None
class SingleLL :
def __init__(self) :
self.head = None
# Add new node in sorted order
def sortedAdd(self, data) :
# Create new node
node = LinkNode(data)
if (self.head == None or self.head.data >= data) :
# When linked list empty
# or new nodes are adding at beginning
node.next = self.head
self.head = node
else :
temp = self.head
# Find position to add new node
while (temp.next != None and
temp.next.data < data) :
# Visit to next node
temp = temp.next
node.next = temp.next
# Add new node
temp.next = node
# Display linked list element
def display(self) :
if (self.head == None) :
return
temp = self.head
# Iterating linked list elements
while (temp != None) :
print(temp.data , end = " → ")
# Visit to next node
temp = temp.next
print(" NULL")
def main() :
sll = SingleLL()
# Add Linked list node
sll.sortedAdd(1)
sll.sortedAdd(-3)
sll.sortedAdd(9)
sll.sortedAdd(4)
sll.sortedAdd(11)
sll.sortedAdd(-7)
print(" Linked List ")
# -7 → -3 → 1 → 4 → 9 → 11 → NULL
sll.display()
if __name__ == "__main__": main()
Output
Linked List
-7 → -3 → 1 → 4 → 9 → 11 → NULL
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment