| 
<?php
/// ---- AVL_test.php ---- Raimund Neumann 18.12.02 16:19
 require_once('AVLTree.php');
 
 class NumTree extends AVLTree  {
 function NumTree( $val )  {
 $this->AVLTree();
 $this->data = $val;
 $this->depth = 1;
 }
 
 function add( $val )  {
 if( $val == $this->data )  {
 echo "$val already in tree<BR>\n";
 return ;
 }
 
 if( $val < $this->data )  {
 if( $this->left === NULL )
 $this->left =& new NumTree($val);
 else  {
 $this->left->add( $val );
 $this->balance();
 }
 } else  {
 assert( $val > $this->data );
 
 if( $this->right === NULL )
 $this->right =& new NumTree($val);
 else  {
 $this->right->add( $val );
 $this->balance();
 }
 }
 
 $this->getDepthFromChildren();
 }
 }
 
 $n =& new NumTree( 8 );
 echo $n->toString();
 $n->add( 9 );
 echo $n->toString();
 $n->add( 10);
 echo $n->toString();
 $n->add( 2 );
 echo $n->toString();
 $n->add( 1 );
 echo $n->toString();
 $n->add( 5 );
 echo $n->toString();
 $n->add( 3 );
 echo $n->toString();
 $n->add( 6 );
 //$noisy=TRUE;
 echo $n->toString();
 $n->add( 4 );
 echo $n->toString();
 $n->add( 7 );
 echo $n->toString();
 $n->add( 11);
 echo $n->toString();
 $n->add( 12);
 echo $n->toString();
 ?>
 |