算法导论笔记-疑问篇之 找中序遍历下x结点的后继
//查找中序遍历下x结点的后继,后继是大于key[x]的最小的结点 node *Tree_Successor(node *x) { //如果有右孩子 if(x->right != NULL) //右子树中的最小值 return Tree_Minimum(x->right); //如果x的右子树为空且x有后继y,那么y是x的最低祖先结点,且y的左儿子也是 node *y = x->p; while(y != NULL && x == y->right) { x = y; y = y->p; } return y; }