红黑树右旋伪代码
人在做,天在看,但管学习,莫问前程。
以下内容纯粹是为了记录,记录一下红黑树的右旋伪代码,以便下次学习的时候能够直接拿出来学习。
上图是红黑树中左旋和右旋的对应关系。
下面列一下《算法导论》中,原文采用的是PASCAL语法格式,这里采用C语言伪代码贴出来,左旋的伪代码:
LEFT_ROTATE(T,x) RIGHT_RORATE(T,x)
y = right[x] ; y = left[x] ;
right[x] = left[y] ; left[x] = right[y] ;
if left[y] != NULL if right[y] != NULL
p[left[y]] = x ; p[right[y] ] = x ;
p[y] = p[x] ; p[y] = p[x] ;
if p[x] = NULL if p[x] = NULL
root[T] = y ; root[T] = y ;
else if x = left[p[x]] else if x = left[p[x]]
left[p[x]] = y ; left[p[x]] = y ;
else else
right[p[x]] = y ; right[p[x]] = y ;
left[y] =x ; right[y] =x ;
p[x] = y ; p[x] = y ;
先写下来下次实现构造一棵红黑树。