Advertisement
nux95

Simple tree structure (python)

Dec 5th, 2011
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. class TreeNode(object):
  2.  
  3.     def __init__(self):
  4.         self.subnodes = []
  5.         self.parent   = None
  6.  
  7.     def addNode(self, node):
  8.         self.subnodes.append(node)
  9.         node.parent = self
  10.  
  11.     def insertNode(self, index, node):
  12.         self.subnodes.insert(index, node)
  13.         node.parent = self
  14.  
  15.     def removeNode(self, node):
  16.         self.subnodes.remove(node)
  17.         node.parent = None
  18.  
  19.     def removeNodeRecursively(self, node):
  20.         try:
  21.             self.subnodes.remove(node)
  22.             node.parent = None
  23.             return True
  24.         except ValueError:
  25.             for node in self.subnodes:
  26.                 if node.removeNodeRecursively(node):
  27.                     return True
  28.             return False
  29.  
  30.     def getNode(self, index):
  31.         return self.subnodes[index]
  32.  
  33.     def setNodes(self, subnodes):
  34.         for node in subnodes:
  35.             node.parent = self
  36.         self.subnodes = list(subnodes)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement