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為查詢長度 一...