Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. class ListNode:
  2. def __init__(self, DataValue):
  3. self._DataValue = DataValue
  4. self._NextNode = None
  5.  
  6. def set_DataValue(self, DataValue):
  7. self._DataValue = DataValue
  8.  
  9. def set_NextNode(self, NextNode):
  10. self._NextNode = NextNode
  11.  
  12. def get_DataValue(self):
  13. return self._DataValue
  14.  
  15. def get_NextNode(self):
  16. return self._NextNode
  17.  
  18. def __str__(self):
  19. return str(self._DataValue)
  20.  
  21. class LinkedList:
  22. def __init__(self):
  23. self._Start = None
  24.  
  25. def add(self, DataValue):
  26.  
  27. def helper(CurNode, DataValue):
  28.  
  29. if CurNode == None:
  30. new_node = ListNode(DataValue)
  31. return new_node
  32.  
  33. elif CurNode.get_DataValue() < DataValue:
  34. CurNode.set_NextNode(helper(CurNode.get_NextNode(), DataValue))
  35. return CurNode
  36.  
  37. else:
  38. new_node = ListNode(DataValue)
  39. new_node.set_NextNode(CurNode)
  40. return new_node
  41.  
  42. self._Start = helper(self._Start, DataValue)
  43.  
  44. def delete(self, DataValue):
  45.  
  46. def helper(CurNode, DataValue):
  47.  
  48. if CurNode == None:
  49. return None # not found
  50.  
  51. elif CurNode.get_DataValue() == DataValue:
  52. return CurNode.get_NextNode()
  53.  
  54. else:
  55. CurNode.set_NextNode(helper(CurNode.get_NextNode(), DataValue))
  56. return CurNode
  57.  
  58. self._Start = helper(self._Start, DataValue)
  59.  
  60. def search(self, DataValue):
  61.  
  62. def helper(CurNode, DataValue):
  63.  
  64. if CurNode == None:
  65. return False
  66.  
  67. elif CurNode.get_DataValue() == DataValue:
  68. return True
  69.  
  70. else:
  71. return helper(CurNode.get_NextNode(), DataValue)
  72.  
  73. return helper(self._Start, DataValue)
  74.  
  75. def display(self):
  76.  
  77. print('Linked List: ', end = '')
  78. CurNode = self._Start
  79. while CurNode:
  80. print(CurNode, end = ' ')
  81. CurNode = CurNode.get_NextNode()
  82. print()
  83.  
  84. def size(self):
  85.  
  86. count = 0
  87. CurNode = self._Start
  88. while CurNode:
  89. count += 1
  90. CurNode = CurNode.get_NextNode()
  91.  
  92. return count
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement