二分法查查詢已排序陣列中的元素並返回元素所在位置下標

二分法查查詢已排序陣列中的元素並返回元素所在位置下標

核心思想

:二分查詢。

演算法思想

:在升序陣列number是中,設定左右指標用於二分查詢特定值target,對於陣列中央特定值number[i]:

1) 若number[i] = target,存在。返回i即為所求;

2) 若number[i] < target,則在下標i的左側進行查詢;

3) 若number[i] > target,則在下標i的右側進行查詢。

Java示例程式碼

class

Solution

{

public

int

search

int

[] number,

int

target)

{

int

low =

0;

int high=

number

。length-

1

while

(low <= high) {

int

middle = (high + low) /

2

int

flag = number[middle];

if

(flag == target) {

return

middle;

}

else

if

(flag > target) { high = middle -

1

; }

else

{ low = middle +

1

; } }

return

-

1

; }}