在看某博客的时候有这样一段代码
int merge(int x,int y){
if(!x || !y) return x+y;
if(rank[x]<rank[y]){
son[x][1]=merge(son[x][1],y);
update(x);return x;
}
else{
son[y][0]=merge(x,son[y][0]);
update(y);return y;
}
}
为什么在else情况下,要把x归到y的左子树上,的rank[x]要比rank[y]大,不应该归到y的右子树上吗?