以当前对象为基准 父:当前节点父节点 父父:当前节点父节点的父节点 父左:当前节点父节点的左节点 父右:当前节点父节点的右节点 rotateRight:右旋 rotateLeft:左旋 按照程序逻辑 Created with Raphaël 2.2.0开始非空&非根&父红父=父父左?父父右红?父变黑,父父右变黑,父父变红,该节点=父父本节点=父右?该节点=父 rotateLeft(该节点)父变黑,父父变红,rotateRight(父父)父父左红?父变黑,父父左变黑,父父变红,该节点=父父根变黑结束该节点=父左?该节点=父,rotateRight(该节点)父变黑,父父变红, rotateLeft(父父)yesnoyesnoyesnoyesnoyesnoyesno 形象点说 Created with Raphaël 2.2.0开始不空&不是根&父红父为左节点?父父右红?父变黑,父父右变黑,父父变红,该节点=父父本节点为右节点?该节点=父该节点左旋父变黑,父父变红,父父右旋父父左红?父变黑,父父左变黑,父父变红,该节点=父父根变黑结束该节点为左节点?该节点=父,该节点右旋父变黑,父父变红, 父父左旋yesnoyesnoyesnoyesnoyesnoyesno