二分法查詢有序陣列

2021-09-29 00:18:26 字數 499 閱讀 1650

package array;

public

class

testbinarysearch

;//指定查詢的元素

int num =12;

//用二分法查詢,返回索引

int start =0;

int end =arr.length-1;

//end的設定應該為陣列最後一位

int index =-1

;//用於標誌是否查詢到指定元素

while

(start <= end)

else

if(num > midelem)

else

//判斷指定元素在mid的什麼位置,改變start和end的值}}

//輸出結果

if(index ==-1

)else

}

要點:注意查詢的陣列必須為有序陣列;當start <=end的時候,迴圈就不停止。

查詢有序陣列元素 二分法

查詢的方法多種多樣,今天提到的就是對於乙個有序陣列而言最方便最高效率的方法 二分法,也叫折半查詢。具體 如下 二分法,也叫折半查詢 include include intb search int a,int left,int right,int k else if a mid k else retu...

有序陣列中二分法查詢

二分法查詢適用於資料量較大時,但是資料需要先排好順序。首先,從陣列的中間元素開始搜尋,如果該元素正好是目標元素,則搜尋過程結束,否則執行下一步。如果目標元素大於 小於中間元素,則在陣列大於 小於中間元素的那一半區域查詢,然後重複步驟1的操作。如果某一步陣列為空,則表示找不到目標元素。時間複雜度為 o...

二分法查詢順序陣列

程式大致內容為指定乙個順序的陣列,然後輸入想要查詢的key數字,在給定陣列用二分發查詢,找到返回位置,找不到返回 1 程式如下 include include includeint binary search int arr,int key,int sz else return 1 int main...