在标准二叉搜索树中,每个新节点都会插入到树的底层的某个地方,替换某个外部节点。这种状态并不是一个绝对的要求;也可以从根节点插入,方法是先插入到相应外部节点然后在通过旋转,转到根节点,下面给出实现:
#include <stdio.h>
#include <stdlib.h>
struct Tree
{
int item;
struct Tree* l;
struct Tree* r;
};
struct Tree* rotR( struct Tree* h)
{
if( h == NULL )
return NULL;
struct Tree* x = NULL;
x = h->l;
h->l = x->r;
x->r = h;
return x;
}
struct Tree* rotL( struct