linked list
Mon Apr 04 2022 17:05:03 GMT+0000 (Coordinated Universal Time)
Saved by
@alejandro7ts
#python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def push(self, new_data):
new_node = Node(new_data)
new_node.next = self.head
self.head = new_node
def insertAfter(self, prev, new_data):
if prev is None:
print("The given previous node must in LinkedList")
return
new_node = Node(new_data)
new_node.next = prev.next
prev.next = new_node
def append(self, new_data):
new_node = Node(new_data)
if self.head is None:
self.head = new_node
return
last = self.go_to_end(self.head)
last.next = new_node
def delete(self, key, node=None):
temp = self.head
if temp is not None:
if temp.data == key:
self.head = temp.next
temp = None
return
prev, temp = self.search_recursion(key, temp)
if temp is None:
return
prev.next = temp.next
temp = None
def go_to_end(self, head):
if head.next:
head = head.next
self.go_to_end(head)
return head.next
def search_recursion(self, key, node=None):
if node is not None:
if node.data != key:
node = node.next
self.search_recursion(key, node)
return node, node.next
def printLinkList(self):
temp = self.head
while(temp):
print(temp.data, end=" ")
temp = temp.next
if __name__ == '__main__':
list = LinkedList()
list.push(4)
list.push(5)
list.push(6)
list.push(7)
list.printLinkList()
list.delete(5)
list.printLinkList()
content_copyCOPY
initialize generic linked list
https://www.geeksforgeeks.org/linked-list-set-2-inserting-a-node/
Comments