二分法查詢某個數第一次出現位置

2021-08-24 17:52:49 字數 442 閱讀 1150

對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。

給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置(從0開始),若不存在該元素,返回-1。若該元素出現多次,請返回第一次出現的位置。

#include#include#include#includeusing namespace std;

int n,a[100000+10],val;

int getpos(int a)

else

return mid;}}

return -1;

}else

else

}return -1;

}}int main()

int k=getpos(a);

cout<}

二分查詢,返回第一次出現的位置

題目描述 對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置 從0開始 若不存在該元素,返回 1。若該元素出現多次,請返回第一次出現的位置。測試樣例 1,3,5,...

使用JS 實現二分法查詢位置

使用二分法查詢數值的位置 前提是陣列必須是有序的陣列,基本原理是 獲取陣列的中間值,與要查到的值x進行對比,中間值大於x,則繼續對比中間值前半部分陣列,依次類推 如下 生成乙個有序陣列 let createarr return arr let arr createarr 使用二分法查詢乙個值在有序陣...

C 二分法查詢檔案中的某個資料

1 題目 1 二分法查詢檔案中的某個資料。存在 返回行數,不存在,返回 1。2 檔案中的資料存放要求 檔案中存放的是遞增的整數,且每行乙個數。如 info.txt 2 6 16 28 49 50 56 85 88 90 99 100 256 3 輸入輸出要求 輸入 檔名fname 待查詢的整數key...