c語言實現的通用二分查詢演算法

2021-12-30 01:26:10 字數 555 閱讀 1619

[cpp] 

// /*

二分查詢是基於排好序的演算法。複雜度低,並且很高效,

由於專案中大量使用的了二分查詢,但是又不能每個業務實現乙個

因此有必要實現乙個通用的二分查詢

其主要思想:通過對已經排好序的陣列,進行資料指標的比較。

@const void *key 需要查詢的key值

@const void *base, 所要查詢資料的首位址

@int nmemb,所要查詢的成員數量

@int size, 每個元素的大小

@int *piequal,是否能查詢到的標誌查到為1,否則為0

*/  

int bsearch_int (const void *key, const void *base, int nmemb, int size, int *piequal) 

else if (comparison < 0) 

else /*if (comparison > 0)*/  

}   

return u; 

二分查詢C語言實現

二分查詢的簡單實現 include include include define n 20 define n rand 200 int cmp const void a const void b 返回在陣列中位置 int b search int a,int p,int q,int key retu...

C語言實現二分查詢

下面為在陣列a 10 中實現二分查詢的 include includevoid binary search int arr,int right,int k 二分查詢函式 else if mid arr k else if left right printf 找不到!n int main int re...

二分查詢(C語言實現)

二分查詢 前提就是資料必須有序,然後從資料的中間位置開始查起,如果中間值比key小,則從中間值位置開始繼續查詢,反之剛從開頭到中位置查詢,重複以上過程直到結束。從 實現上來說,既可以用迴圈實現,也可以用遞迴實現。下面將用這兩種方法以c語言實現二分查詢。遞迴 include int binary fi...