Hi there,
I am using the STL map and I print the map using:
map <string, float> ngram_token_index ;
map <string, float>::iterator map_iter ;
//read the map
...
// print the map
for ( map_iter = ngram_token_index.begin() ; map_iter != ngram_token_index.end() ; map_iter++ )
cout << ... (2 Replies)
Help me please with STL source code that works on Windows
I've found on Inet STL MRU Cache (it compiles fine with Studio 2008), but when trying to build it with Kdevelop (g++ is the compiler) I've got a series of error. One of them I've placed in the source code. If it's important I can post here... (0 Replies)
Hello all,
i am in a bit of dilema here. i dont know any thing about perl or python. only know a little bit of awk. now unable to take a decission as to which language to go for. my requirement is building a testing framework.suite which will execute ssytem comands remotely on unix... (2 Replies)
Hi all,
I pass to the transform algorithm two vectors, and the suma function.
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
using namespace std;
class Duo{
public:
int one;
int two;
};
Duo suma(Duo first, Duo last){
Duo ret;
... (1 Reply)
Discussion started by: santiagorf
1 Replies
LEARN ABOUT DEBIAN
tree::node
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)