Love beautiful code? We do too.
Hàm void *bsearch(const void *key, const void *base, nitems, size, int (*compar)(const void *, const void *))
tìm kiếm một mảng các đối tượng nitems, thành viên ban đầu của nó được trỏ tới bởi base, cho một thành viên mà kết nối đối tượng được trỏ tới bởi key. Kích cỡ của mỗi phần tử mảng được xác định bởi size.
Các nội dung của mảng nên là theo thứ tự tăng dần tương ứng với hàm so sánh được tham chiếu bởi compar.
Dưới đây là phần khai báo cho bsearch() trong C:
void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
Tham số
Trả về giá trị
#include <stdio.h>
#include <stdlib.h>
int cmpfunc(const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int values[] = { 5, 20, 29, 32, 63 };
int main ()
{
int *item;
int key = 32;
/* su dung ham bsearch() de tim gia tri 32 trong mang */
item = (int*) bsearch (&key, values, 5, sizeof (int), cmpfunc);
if( item != NULL )
{
printf("Da tim thay phan tu co gia tri = %d\n", *item);
}
else
{
printf("Khong tim thay phan tu co gia tri = %d\n", *item);
}
return(0);
}
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Xem thêm:
Hoclaptrinh.vn © 2017
From Coder With
Unpublished comment
Viết câu trả lời