C 之最簡單的二分法查詢

2021-10-04 23:41:26 字數 1070 閱讀 3893

關於c++中vector使用sort方法進行排序:

第一種情形:基本型別,如vector,vector,vector直接使用;

第二種情形:用自定義的結構體進行sort演算法,這時候需要自己定義個比較函式,因為sort演算法是基於容器中的元素是可以兩兩比較的,然後從小到大排序,所以要自定義怎麼樣才是小於(』<』);

例如:

struct student ;

//自定義「小於」

bool

compare

(const student &a,

const student &b)

sort

(vectorstudents.

begin()

,vectorstudents.

end(

),comp)

;

最簡單二分法查詢法:

int

main()

;sort

(vecnumber.

begin()

, vecnumber.

end())

;int ntarget,ntime =0;

bool bfind =

false

; cout <<

"請輸入需要查詢的值:"

<< endl;

cin >> ntarget;

auto nbegin = vecnumber.

begin()

;auto nend = vecnumber.

end();

auto mid = nbegin +

(nend - nbegin)/2

;while

(mid != nend)

else

if(ntarget >

*mid)

else

ntime++

; mid = nbegin +

(nend - nbegin)/2

;}if(bfind)

else

return0;

}

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...