<?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();
 
?>
 
 |