- if (r == nullptr)
- r = new KdNode(n);
- else if (l % 2 == 0 && n->x() < r->node()->x())
- store_node(n, r->left(), l + 1);
- else if (l % 2 == 0)
- store_node(n, r->right(), l + 1);
- else if (l % 2 == 1 && n->y() < r->node()->y())
- store_node(n, r->left(), l + 1);
- else
- store_node(n, r->right(), l + 1);
+ if (r == nullptr)
+ r = new KdNode(n);
+ else if (l % 2 == 0 && n->x() < r->node()->x())
+ store_node(n, r->left(), l + 1);
+ else if (l % 2 == 0)
+ store_node(n, r->right(), l + 1);
+ else if (l % 2 == 1 && n->y() < r->node()->y())
+ store_node(n, r->left(), l + 1);
+ else
+ store_node(n, r->right(), l + 1);
- if (r == nullptr)
- return;
- if (this->cost_search(*r->node(), t) < d) {
- n = r->node();
- d = this->cost_search(*r->node(), t);
- }
- if (l % 2 == 0 && t.x() < r->node()->x()) {
- nn(n, t, r->left(), l + 1, d);
- if (r->node()->x() - t.x() < d)
- nn(n, t, r->right(), l + 1, d);
- } else if (l % 2 == 0) {
- nn(n, t, r->right(), l + 1, d);
- if (t.x() - r->node()->x() < d)
- nn(n, t, r->left(), l + 1, d);
- } else if (l % 2 == 1 && t.y() < r->node()->y()) {
- nn(n, t, r->left(), l + 1, d);
- if (r->node()->y() - t.y() < d)
- nn(n, t, r->right(), l + 1, d);
- } else {
- nn(n, t, r->right(), l + 1, d);
- if (t.y() - r->node()->y() < d)
- nn(n, t, r->left(), l + 1, d);
- }
+ if (r == nullptr)
+ return;
+ if (this->cost_search(*r->node(), t) < d) {
+ n = r->node();
+ d = this->cost_search(*r->node(), t);
+ }
+ if (l % 2 == 0 && t.x() < r->node()->x()) {
+ nn(n, t, r->left(), l + 1, d);
+ if (r->node()->x() - t.x() < d)
+ nn(n, t, r->right(), l + 1, d);
+ } else if (l % 2 == 0) {
+ nn(n, t, r->right(), l + 1, d);
+ if (t.x() - r->node()->x() < d)
+ nn(n, t, r->left(), l + 1, d);
+ } else if (l % 2 == 1 && t.y() < r->node()->y()) {
+ nn(n, t, r->left(), l + 1, d);
+ if (r->node()->y() - t.y() < d)
+ nn(n, t, r->right(), l + 1, d);
+ } else {
+ nn(n, t, r->right(), l + 1, d);
+ if (t.y() - r->node()->y() < d)
+ nn(n, t, r->left(), l + 1, d);
+ }