MCPcopy Create free account
hub / github.com/SuprDewd/CompetitiveProgramming / erase

Function erase

code/data-structures/cartesian_tree.cpp:34–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32 return merge(res.first,
33 merge(new node(x, y), res.second)); }
34node* erase(node *t, int x) {
35 if (!t) return NULL;
36 if (t->x < x) t->r = erase(t->r, x);
37 else if (x < t->x) t->l = erase(t->l, x);
38 else { node *old = t; t = merge(t->l, t->r); delete old; }
39 if (t) augment(t); return t; }
40int kth(node *t, int k) {
41 if (k < tsize(t->l)) return kth(t->l, k);
42 else if (k == tsize(t->l)) return t->x;

Callers 2

eraseMethod · 0.70
insert_lineMethod · 0.70

Calls 2

mergeFunction · 0.85
augmentFunction · 0.85

Tested by

no test coverage detected