(Node x, Point2D p, boolean isXPartition)
| 66 | } |
| 67 | |
| 68 | private Point2D get(Node x, Point2D p, boolean isXPartition) { |
| 69 | if (p == null) throw new IllegalArgumentException(); |
| 70 | if (x == null) return null; |
| 71 | if (p.compareTo(x.p) == 0) return x.p; |
| 72 | int cmp = isXPartition ? Double.compare(p.x(), x.p.x()) |
| 73 | : Double.compare(p.y(), x.p.y()); |
| 74 | if (cmp < 0) return get(x.left, p, !isXPartition); |
| 75 | else return get(x.right, p, !isXPartition); |
| 76 | } |
| 77 | |
| 78 | // draw all points to standard draw |
| 79 | public void draw() { |