[Home]
[Contents]
[Chapter]
[Previous Algorithm]
[Next Algorithm]


P-tree insertion (Pascal version available)


tree insert( new, pq ) tree new, pq; { tree p; if ( pq == NULL ) return( new ); else if ( pq->k >= new->k ) { /*** Insert above subtree ***/ new->left = pq; return( new ); } else { p = pq; while ( p->left != NULL ) if ( p->left->k >= new->k ) { /*** Insert in right subtree ***/ p->right = insert( new, p->right ); return( pq ); } else p = p->left; /*** Insert at bottom left ***/ p->left = new; }; return( pq ); };

C source (512.ins.c) Pascal source (512.ins.p)



© Addison-Wesley Publishing Co. Inc.