commit a1cf910aabc03b55bc9e61e03b333618d74bf877
parent 2ffd125d68311e9a8a5634f9ef9bbf4d07fb0672
Author: Plat <plat@stellar-nexus.ru>
Date: Fri, 7 Nov 2025 20:03:36 +0000
Added delete function to ntree.cxx
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ntree.cxx b/ntree.cxx
@@ -121,13 +121,18 @@ public:
bool remove(int id) {
Node *n = this->search(id, this->root);
+ if (!n) return false;
+
Node *n_p = this->find_parent_node(this->root, n);
+ if (!n_p) return false;
for (Node *r : n->children) n_p->children.push_back(r);
- n_p->children.erase(std::find(n_p->children.begin(), n_p->children.end(), n));
+ auto it = std::find(n_p->children.begin(), n_p->children.end(), n);
+ if (it != n_p->children.end())
+ n_p->children.erase(it);
- free(n);
+ delete n;
return true;
@@ -152,7 +157,6 @@ main(int argc, char *argv[])
sflag = 1;
break;
case 'd':
- eprintf("Not implemented\n");
dflag = 1;
break;
} ARGEND