Advertisement
Guest User

recursive

a guest
Oct 21st, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.74 KB | None | 0 0
  1.  
  2.     def add(self,item):
  3.         new_node = Node(item)
  4.         curr = self.__head
  5.         prev = None
  6.         self.add_recursive(new_node,curr,prev)
  7.  
  8.     def add_recursive(self,new_node,curr,prev):
  9.         if curr == None:
  10.             if new_node.get_data() >= curr.get_data():
  11.                 new_node.set_next(curr)
  12.                 prev.set_next(new_node)
  13.             if curr.get_next() is None:
  14.                 new_node.set_next(curr)
  15.         else:
  16.             new_node.set_next(curr)
  17.             return add_recursive(new_node,curr,prev)
  18.            
  19.     def search(self,item):
  20.         curr = self.__head
  21.         return self.search_recursive(item, curr)
  22.  
  23.     def search_recursive(self,item, curr):
  24.         if curr == None:
  25.             if curr.get_data() == item:
  26.                 return True
  27.             if curr.get_data() > item:
  28.                 return False
  29.             if curr.get_next() is None:
  30.                 return False
  31.         curr.get_next()
  32.         return search_recursive(item, curr)
  33.            
  34.     def remove(self,item):
  35.         curr = self.__head
  36.         prev = None
  37.         self.remove_recursive(item,curr,prev)
  38.        
  39.     def remove_recursive(self,item,curr,prev):
  40.         if curr == None:
  41.             if curr.get_data() == item and curr.get_data() == self.__head:
  42.                 self.__head == curr.set_next()
  43.                 curr = prev
  44.             if curr.get_data() == item and curr.get_data() != self.__head:
  45.                 curr = prev
  46.             if curr.get_data() != item and curr.get_data() is None:
  47.                 print("This item is not in the list.")
  48.             if curr.get_data() != item and curr.get_data != self.__head:
  49.                 return remove_recursive(item,curr,prev)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement