// Number of elements less than or equal to x(not including the value x itself) public int GetRankNumber(int x) { if (x == Key) { return(LeftSize); } else if (x < Key) { if (left == null) { return(-1); } return(left.GetRankNumber(x)); } else { if (right == null) { return(-1); } else { //Include everything under left subtree while going right return(LeftSize + 1 + right.GetRankNumber(x)); } } }
public int GetRankNumber(int x) { if (Root == null) { return(-1); } return(Root.GetRankNumber(x)); }