Dr. Dobb's Journal June 1998
void iinsert(int t)
{ Tptr p, q;
Tptr next = (Tptr) malloc(sizeof(Tnode));
if (!root)
root = next;
else {
for (q = root; q; ) {
p = q;
q = (t < p->val) ? q->lo : q->hi;
}
if (t < p->val)
p->lo = next;
else
p->hi = next;
}
next->lo = next->hi = 0;
next->val = t;
}