{*
查找指定的值是否在当前数组中(数组已经是有序的)
*}
function SearchData(dataList: array of integer; id: longint ): Boolean;
var
idMid: integer;
idLow, idHigh: integer;
begin
idLow := 0;
idHigh := High(dataList);
while ( idLow <= idHigh ) do
begin
if idLow = idHigh then
begin
if dataList[ idLow ] = id then
begin
Result := True;
end
else
begin
Result := False;
end;
Exit;
end;
idMid := ( idLow + idHigh ) div 2;
if dataList[ idMid ] = id then
begin
Result := True;
Exit;
end;
if dataList[ idMid ] > id then idHigh := idMid - 1;
if dataList[ idMid ] < id then idLow := idMid + 1;
end;
Result := False;
end;
本文介绍了一种用于在已排序数组中查找特定值的高效搜索算法。该算法通过不断缩小搜索范围来提高查找效率,适用于需要频繁进行数据检索的应用场景。
239

被折叠的 条评论
为什么被折叠?



