bsearch函式解析

2021-06-10 09:05:53 字數 800 閱讀 6288

from: 

函式格式:

void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void ));

函式功能:

將key在一系列base表示的資料中進行挨個比較,base中每個資料的大小是size,

base中的資料總的個數是nmemb = sizeof(base)/sizeof(base[0]);

compar 函式提供給使用者的介面,對所需的內容進行比較。compar會返回乙個值,表示比較的結果,如果返回0,bsearch函式立即返回,並且返回在base中找到的位置資訊,如果到最後都沒有找到,則返回null。

函式心得:

該函式提供了複雜查詢,減輕了我們在程式設計中經常遇到資料查詢需要編寫大量**,同樣會出現很多**冗餘, 效率不高的情況

函式示例:

#include

#include

#include

struct mi months = , , , ,

, , , ,

, , ,

};#define nr_of_months (sizeof(months)/sizeof(months[0]))

static int compmi(const void *m1, const void *m2)

int main(int argc, char **argv)

return 0;

}

qsort函式和bsearch函式詳解

qsort 包含在標頭檔案中,此函式 根據給的比較條件進行快速排序,排序之後的結果仍然放在原陣列中,需要自己寫乙個比較函式。函式原型 void qsort void base,size t num,size t size,int comparator const void const void ba...

qsort函式和bsearch函式的使用

1.qsort排序 qsort example include include int values int compare const void a,const void b int main output 10 20 25 40 90 100 2.bsearch查詢 bsearch exampl...

bsearch 函式(二分查詢)

原部落格 bseach 函式用於二分查詢。void bsearch const void key,const void base,size t nmem,size t size,int comp const void const void key為要查詢的數,base為該陣列,nmem為查詢長度 一...