public override bool Contains(V member) { if (null == root) { return(false); } return(root.contains(comparator, member)); }
internal bool contains(PersistentComparator <K, V> comparator, V mbr) { int l, r, m, n; Load(); n = nItems; if (comparator.CompareMembers(loadItem(0), mbr) < 0) { if (comparator.CompareMembers(loadItem(n - 1), mbr) < 0) { if (right != null) { return(right.contains(comparator, mbr)); } return(false); } for (l = 0, r = n; l < r;) { m = (l + r) >> 1; if (comparator.CompareMembers(loadItem(m), mbr) < 0) { l = m + 1; } else { r = m; } } while (r < n) { if (mbr == loadItem(r)) { return(true); } if (comparator.CompareMembers(item[r], mbr) > 0) { return(false); } r += 1; } if (right != null) { return(right.contains(comparator, mbr)); } return(false); } if (left != null) { if (left.contains(comparator, mbr)) { return(true); } } for (l = 0; l < n; l++) { if (mbr == loadItem(l)) { return(true); } if (comparator.CompareMembers(item[l], mbr) > 0) { return(false); } } if (right != null) { return(right.contains(comparator, mbr)); } return(false); }