public int Find(object findValue, object sortedObj) { itsSortedObj.SetSortedObj(sortedObj); itsSortedObj.SetFindValue(findValue); start = itsSortedObj.GetStart(); end = itsSortedObj.GetEnd(); operations = 0; if (!IsCanStart()) { return(result); } while (start < end) { ++operations; int middle = (start + end) / 2; if (itsSortedObj.CompareTo(middle) < 0) { end = middle - 1; } else if (itsSortedObj.CompareTo(middle) > 0) { start = middle + 1; } else { return(middle); } } return(-1); }
public int Find(object findValue, object sortedObj) { itsSortedObj.SetSortedObj(sortedObj); itsSortedObj.SetFindValue(findValue); start = itsSortedObj.GetStart(); end = itsSortedObj.GetEnd(); operations = 0; if (!IsCanStart()) { return(result); } return(Bisect()); }