private void RebBlackDelete(IList <int> datas) { var tree = new RedBlackTree <int>(); foreach (var data in datas) { var node = new RedBlackTreeNode <int>(data); tree.Insert(node); } Console.WriteLine("new tree data"); foreach (var d in datas) { Console.Write("{0} ", d); } Console.WriteLine(); Console.WriteLine("new tree "); PrintTree(tree); tree.CheckRedBlackTree(); var count = datas.Count(); for (int i = 0; i < count; i++) { var data = datas[i]; var node = tree.Search(tree.Root, data); Console.WriteLine("delete node: {0}", node.Data); Console.WriteLine(); tree.Delete(node); PrintTree(tree); tree.CheckRedBlackTree(); } }
private void RebBlackInsert(IList <int> datas) { var tree = new RedBlackTree <int>(); foreach (var data in datas) { var node = new RedBlackTreeNode <int>(data); Console.WriteLine("insert node {0}", data); tree.Insert(node); tree.CheckRedBlackTree(); } }