Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

blt_treedeletenode(3) [debian man page]

Blt_TreeDeleteNode(3)					      BLT Library Procedures					     Blt_TreeDeleteNode(3)

__________________________________________________________________________________________________________________________________________________

NAME
Blt_TreeDeleteNode - Deletes a node and its descendants. SYNOPSIS
#include <bltTree.h> Blt_TreeNode Blt_TreeDeleteNode(tree, node) ARGUMENTS
Blt_Tree tree (in) Tree containing the node. Blt_TreeNode node (in) Node to be deleted. _________________________________________________________________ DESCRIPTION
This procedure deletes a given node and all it descendants from a tree data object. The arguments are as follows: tree The tree containing the parent node. node Node to be deleted. The node and its descendant nodes are deleted. Each node's data values are deleted also. The reference count of the Tcl_Obj is decremented. Since all tree objects must contain at least a root node, the root node itself can't be deleted unless the tree is released and destroyed. Therefore you can clear a tree by deleting its root, but the root node will remain until the tree is destroyed. RETURNS
Always returns TCL_OK. Errors generated in a notification callbacks are backgrounded (see Tcl_TreeCreateNotifyHandler). EXAMPLE
The following example deletes the root node. Blt_TreeNode root; root = Blt_TreeRootNode(token); Blt_TreeDeleteNode(token, root); NOTIFICATIONS
Blt_TreeDeleteNode can trigger tree notify events. You can be notified whenever a node is deleted by using the Blt_TreeCreateNotifyHan- dler. A callback routine is registered that will be automatically invoked whenever a node is deleted via Blt_TreeDeleteNode to the tree. KEYWORDS
tree, token BLT
2.4 Blt_TreeDeleteNode(3)

Check Out this Related Man Page

Node(3pm)						User Contributed Perl Documentation						 Node(3pm)

NAME
Tree::RedBlack::Node - Node class for Perl implementation of Red/Black tree SYNOPSIS
use Tree::RedBlack; my $t = new Tree::RedBlack; $t->insert(3, 'dog'); my $node = $t->node(3); $animal = $node->val; DESCRIPTION
A Tree::RedBlack::Node object supports the following methods: key () Key of the node. This is what the nodes are sorted by in the tree. val ($) Value of the node. Can be any perl scalar, so it could be a hash-ref, f'rinstance. This can be set directly. color () Color of the node. 1 for "red", 0 or undef for "black". parent () Parent node of this one. Returns undef for root node. left () Left child node of this one. Returns undef for leaf nodes. right () Right child node of this one. Returns undef for leaf nodes. min () Returns the node with the minimal key starting from this node. max () Returns the node with the maximal key starting from this node. successor () Returns the node with the smallest key larger than this node's key, or this node if it is the node with the maximal key. predecessor () Similar to successor. WARNING: NOT YET IMPLEMENTED!! You can use these methods to write utility routines for actions on red/black trees. For instance, here's a routine which writes a tree out to disk, putting the byte offsets of the left and right child records in the record for each node. sub dump { my($node, $fh) = @_; my($left, $right); my $pos = tell $fh; print $fh $node->color ? 'R' : 'B'; seek($fh, 8, 1); print $fh $node->val; if ($node->left) { $left = dump($node->left,$fh); } if ($node->right) { $right = dump($node->right,$fh); } my $end = tell $fh; seek($fh, $pos+1, 0); print $fh pack('NN', $left, $right); seek($fh, $end, 0); $pos; } You would call it like this: my $t = new Tree::RedBlack; ... open(FILE, ">tree.dump"); dump($t->root,*FILE); close FILE; As another example, here's a simple routine to print a human-readable dump of the tree: sub pretty_print { my($node, $fh, $lvl) = @_; if ($node->right) { pretty_print($node->right, $fh, $lvl+1); } print $fh ' 'x($lvl*3),'[', $node->color ? 'R' : 'B', ']', $node->key, " "; if ($node->left) { pretty_print($this->left, $fh, $lvl+1); } } A cleaner way of doing this kind of thing is probably to allow sub-classing of Tree::RedBlack::Node, and then allow the Tree::RedBlack constructor to take an argument saying what class of node it should be made up out of. Hmmm... AUTHOR
Benjamin Holzman <bholzman@earthlink.net> SEE ALSO
Tree::RedBlack perl v5.10.0 2008-07-31 Node(3pm)
Man Page