看了网上三四篇博客,学习了AVL树维护平衡的方式.但感觉他们给出的代码都有一点瑕疵或者遗漏,懂得了思想之后,花了一些时间把他们几篇的长处结合起来,没有使用指针,实现了一下.每个小逻辑功能都抽象成了函数,应该比较好理解,代码逻辑看起来也比较清晰.下面给出主要的功能插入和删除.至于其他一些没有动到树结构的操作,如查询,求前驱后继等,同其他BST,没有什么特别.这里顺带一提,下面的代码中,没有维护子树size,如果要求第K小或者名次,可以在upd函数等处添加有关size的维护,之后便可以支持相关查询了…