Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ListNode:
- def __init__(self, DataValue):
- self._DataValue = DataValue
- self._NextNode = None
- def set_DataValue(self, DataValue):
- self._DataValue = DataValue
- def set_NextNode(self, NextNode):
- self._NextNode = NextNode
- def get_DataValue(self):
- return self._DataValue
- def get_NextNode(self):
- return self._NextNode
- def __str__(self):
- return str(self._DataValue)
- class LinkedList:
- def __init__(self):
- self._Start = None
- def add(self, DataValue):
- def helper(CurNode, DataValue):
- if CurNode == None:
- new_node = ListNode(DataValue)
- return new_node
- elif CurNode.get_DataValue() < DataValue:
- CurNode.set_NextNode(helper(CurNode.get_NextNode(), DataValue))
- return CurNode
- else:
- new_node = ListNode(DataValue)
- new_node.set_NextNode(CurNode)
- return new_node
- self._Start = helper(self._Start, DataValue)
- def delete(self, DataValue):
- def helper(CurNode, DataValue):
- if CurNode == None:
- return None # not found
- elif CurNode.get_DataValue() == DataValue:
- return CurNode.get_NextNode()
- else:
- CurNode.set_NextNode(helper(CurNode.get_NextNode(), DataValue))
- return CurNode
- self._Start = helper(self._Start, DataValue)
- def search(self, DataValue):
- def helper(CurNode, DataValue):
- if CurNode == None:
- return False
- elif CurNode.get_DataValue() == DataValue:
- return True
- else:
- return helper(CurNode.get_NextNode(), DataValue)
- return helper(self._Start, DataValue)
- def display(self):
- print('Linked List: ', end = '')
- CurNode = self._Start
- while CurNode:
- print(CurNode, end = ' ')
- CurNode = CurNode.get_NextNode()
- print()
- def size(self):
- count = 0
- CurNode = self._Start
- while CurNode:
- count += 1
- CurNode = CurNode.get_NextNode()
- return count
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement