protected static void InsertNodeAfter(FlattenerNode pos, FlattenerNode newNode) { newNode = newNode.GetListRoot(); if (pos._right == null) { pos._right = newNode; newNode._Parent = pos; } else { pos = pos._right; while (pos._left != null) { pos = pos._left; } pos._left = newNode; newNode._Parent = pos; } RebalanceUntilRoot(pos); }
private static void DumpTree(FlattenerNode node) { node.GetListRoot().DumpTree(); }
public Flattener(FlattenerNode root) { root = root.GetListRoot(); _root = root; root._treeFlattener = this; }