private void buttonMaximum_Click(object sender, EventArgs e) { try { TreeObject node = binarySearchTree.TREE_MAXIMUM( binarySearchTree.root); listBoxBinarySearchTree.SelectedItem = node; } catch (Exception e1) { MessageBox.Show(e1.Message); } }
private void buttonSearch_Click(object sender, EventArgs e) { try { TreeObject node = binarySearchTree.TREE_SEARCH( binarySearchTree.root, (int)numericUpDownBST.Value); listBoxBinarySearchTree.SelectedItem = node; } catch (Exception e1) { MessageBox.Show(e1.Message); } }
/////////// binary search tree functions private void buttonInsertBST_Click(object sender, EventArgs e) { try { TreeObject z = new TreeObject((int)numericUpDownBST.Value); binarySearchTree.TREE_INSERT(z); binarySearchTree.FillPrint(); numericUpDownBST.Value = numericUpDownBST.Value + 1; } catch (Exception e1) { MessageBox.Show(e1.Message); } }
public TreeObject TREE_SUCCESSOR(TreeObject x) { if (x.right != null) { return(TREE_MINIMUM(x.right)); } TreeObject y = x.parent; while ((y != null) && (x == y.right)) { x = y; y = y.parent; } return(y); }
public TreeObject TREE_SEARCH(TreeObject x, int k) { if ((x == null) || (k == x.key)) { return(x); } if (k < x.key) { return(TREE_SEARCH(x.left, k)); } else { return(TREE_SEARCH(x.right, k)); } }
public void TRANSPLANT(TreeObject u, TreeObject v) { if (u.parent == null) { root = v; } else if (u == u.parent.left) { u.parent.left = v; } else { u.parent.right = v; } if (v != null) { v.parent = u.parent; } }
public void INORDER_TREE_WALK(TreeObject x) { if (x != null) { if (order == BinarySearchTreeOrder.bstoPreordered) { Print(x); } INORDER_TREE_WALK(x.left); if (order == BinarySearchTreeOrder.bstoSorted) { Print(x); } INORDER_TREE_WALK(x.right); if (order == BinarySearchTreeOrder.bstoPostordered) { Print(x); } } }
public void TREE_DELETE(TreeObject z) { if (z.left == null) { TRANSPLANT(z, z.right); } else if (z.right == null) { TRANSPLANT(z, z.left); } else { TreeObject y = TREE_MINIMUM(z.right); if (y.parent != z) { TRANSPLANT(y, y.right); y.right = z.right; y.right.parent = y; } TRANSPLANT(z, y); y.left = z.left; y.left.parent = y; } }
public void Print(TreeObject aKey) { printArea.Items.Add(aKey); }
public ClassTree() { root = null; }