#include <stdio.h>
#include <stdlib.h>
int compare(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
int main()
{
int arr[] = { 10, 5, 13, 8, 30, 1, 20, 9, 17, 0, 5, 4, 2 };
int size = sizeof(arr) / sizeof(arr[0]);
qsort(arr, size, sizeof(int), compare);
for (int i = 0; i < size; i++)
printf("%d ", arr[i]);
int tofind = 17;
int* item = (int*)bsearch(&tofind, arr, size, sizeof(int), compare);
if (item != NULL) {
printf("\nFound item = %d", *item);
}
else {
printf("\nItem = %d not found", tofind);
}
return 0;
}
/*
run:
0 1 2 4 5 5 8 9 10 13 17 20 30
Found item = 17
*/