public virtual System.Collections.IList Search(System.IComparable key) { int position = GetPositionOfKey(key); bool keyIsHere = position > 0; int realPosition = -1; if (keyIsHere) { realPosition = position - 1; System.Collections.IList value = GetValueAt(realPosition); return(value); } else { if (IsLeaf()) { // key is not here and node is leaf return(null); } } realPosition = -position - 1; NeoDatis.Btree.IBTreeNodeMultipleValuesPerKey node = (NeoDatis.Btree.IBTreeNodeMultipleValuesPerKey )GetChildAt(realPosition, true); return(node.Search(key)); }
public virtual System.Collections.IList Search(System.IComparable key) { NeoDatis.Btree.IBTreeNodeMultipleValuesPerKey theRoot = (NeoDatis.Btree.IBTreeNodeMultipleValuesPerKey )GetRoot(); return(theRoot.Search(key)); }