template <typename RandomIterator, typename T> bool bsearch(RandomIterator l, RandomIterator r, T x) { assert(l < r); while (l + 1 < r) { RandomIterator m = l + (r - l)/2; if (*m <= x) l = m; else r = m; } return *l == x; }
insert()
and erase()
are reasonably simple and slow
template <typename T> struct bt_node { list_element<T> * left, * right; T value; }
insert()
and delete()
are now fast, but are no longer
simple
This page last modified on 25 July 2000.