K-d tree: Difference between revisions
Content added Content deleted
m (Minor edit to C++ code) |
|||
Line 321: | Line 321: | ||
return nullptr; |
return nullptr; |
||
size_t n = begin + (end - begin)/2; |
size_t n = begin + (end - begin)/2; |
||
auto i = nodes_.begin(); |
|||
std::nth_element(i + begin, i + n, i + end, node_cmp(index)); |
|||
index = (index + 1) % dimensions; |
index = (index + 1) % dimensions; |
||
nodes_[n].left_ = make_tree(begin, n, index); |
nodes_[n].left_ = make_tree(begin, n, index); |