前面已经讲过平衡二叉树的实现原理以及实例
原理参见 http://blog.csdn.net/wxbmelisky/article/details/47755753
实例参见 http://blog.csdn.net/wxbmelisky/article/details/47787963
平衡二叉树的实现代码如下
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
// 定义平衡二叉树的结点结构
typedef struct BiTNode
{
int data;
int bf; // 平衡因子
BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
typedef int Status;
// 右旋处理,即LL调整
void R_Rotate( BiTree *p )
{
BiTree L;
L = (*p)->lchild;
(*p)->lchild = L->rchild;
L->rchild &