//改程序是执行双旋转的函数,其效率超过执行两个单旋转
#include <stdio.h>
#include <stdlib.h>
#include "AvlT.h"
static Position doubleRotationWithLeft(Position K3);
static Position doubleRotationWithLeft(Position K3)
{ /*先左旋在右旋*/
Position K1, K2;
K1 = K3->Left;
K2 = K1->Right;
K1->Right = K2->Left;
K3->Left = K2->Right;
K2->Left = K1;
K2->Right = K3;
K1->Height = Max(Height(K1->Left), Height(K1->Right)) + 1;
K3->Height = Max(Height(K3->Left), Height(K3->Right)) + 1;
K2->Height = Max(K1->Height, K3->Height) + 1;
return K3;
}
执行双旋转的高效函数
最新推荐文章于 2023-07-14 11:22:34 发布