// 外部定义全局变量: var a : array[1..n] of integer; searchnum, result :integer;
procedurebinarySearch(left, right :integer); var middle : integer; begin while (left <= right) do begin middle := (left + right) div2; if (a[middle] > searchnum) then right := middle - 1 elseif (a[middle] < searchnum) then left := middle + 1 else begin result := middle; break; end; end; if left > right then result := -1; end;
// 外部定义全局变量: var a : array[1..n] of integer; searchnum, result :integer;
procedurebinarySearch(left, right :integer); var middle : integer; begin if left <= right then begin middle := (left + right) div2; if (a[middle] > searchnum) then binarySearch(left, middle - 1) elseif (a[middle] < searchnum) then binarySearch(middle + 1, right) else result := middle; end else result := -1; end;