Advertisement
Guest User

Untitled

a guest
Oct 10th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. import os
  2.  
  3. class List:
  4. def __init__(self):
  5. self.head = None
  6.  
  7. def getHead(self):
  8. return self.head
  9.  
  10. def setHead(self, element):
  11. self.head = element
  12.  
  13. def addElement(self, element):
  14. print("Adding element", element.getValue())
  15. if self.head is None:
  16. self.head = element
  17. print("No head, setting head")
  18. else:
  19. print("adding next")
  20. walker = self.head
  21. while walker is not None:
  22. print("Walking, current walker is", walker.getValue())
  23. if walker.getNext() is None:
  24. walker.setNext(element)
  25. break
  26. else:
  27. walker = walker.getNext()
  28.  
  29. def deleteElement(self,element):
  30. walker=self.head
  31. predecessor=None
  32. succesor=walker.getNext()
  33. while succesor is not None:
  34. succesor=succesor.getNext()
  35. predecessor=walker
  36. walker=walker.getNext()
  37. if walker is element:
  38. predecessor.setNext(succesor)
  39. print ("wartosc preda",predecessor.getValue())
  40. walker=None
  41. break
  42.  
  43.  
  44.  
  45.  
  46. def printList(self):
  47. if self.head is None:
  48. pass
  49.  
  50. walker = self.head
  51. while walker is not None:
  52. print(walker.getValue())
  53. walker = walker.getNext()
  54.  
  55.  
  56.  
  57. class Node:
  58. def __init__(self):
  59. self.next = None
  60.  
  61. def setValue(self, value):
  62. self.value = value
  63.  
  64. def getValue(self):
  65. return self.value
  66.  
  67. def setNext(self, nextElement):
  68. self.next = nextElement
  69.  
  70. def getNext(self):
  71. return self.next
  72.  
  73. def main():
  74.  
  75. myList = List()
  76.  
  77. nodeFive = Node()
  78. nodeFive.setValue(5)
  79.  
  80. nodeFour = Node()
  81. nodeFour.setValue(4)
  82.  
  83. nodeThree = Node()
  84. nodeThree.setValue(3)
  85.  
  86. nodeTwo = Node()
  87. nodeTwo.setValue(2)
  88.  
  89. nodeOne = Node()
  90. nodeOne.setValue(1)
  91.  
  92. myList.addElement(nodeOne)
  93. myList.addElement(nodeTwo)
  94. myList.addElement(nodeThree)
  95. myList.addElement(nodeFour)
  96. myList.addElement(nodeFive)
  97.  
  98. myList.printList()
  99. myList.deleteElement(nodeThree)
  100. myList.printList()
  101.  
  102. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement