BST
BST
Node(Integer key) {
this.key = key;
this.size = 1;
}
}
Node root;
IntegerBST() {
root = null;
}
updateSize(node);
return node;
}
updateSize(node);
return node;
}
Node min(Node x) {
while (x.left != null) x = x.left;
return x;
}
x.right = y.left;
y.left = x;
y.size = x.size;
updateSize(x);
return y;
}
x.left = y.right;
y.right = x;
y.size = x.size;
updateSize(x);
return y;
}
void