| SDL_bsearch(3) | SDL3 FUNCTIONS | SDL_bsearch(3) |
SDL_bsearch - Perform a binary search on a previously sorted array.
Defined in SDL3/SDL_stdinc.h
#include "SDL3/SDL.h"
void * SDL_bsearch(const void *key, const void *base, size_t nmemb, size_t size, SDL_CompareCallback compare);
For example:
typedef struct {
int key;
const char *string;
} data;
int SDLCALL compare(const void *a, const void *b)
{
const data *A = (const data *)a;
const data *B = (const data *)b;
if (A->n < B->n) {
return -1;
} else if (B->n < A->n) {
return 1;
} else {
return 0;
}
}
data values[] = {
{ 1, "first" }, { 2, "second" }, { 3, "third" }
};
data key = { 2, NULL };
data *result = SDL_bsearch(&key, values, SDL_arraysize(values), sizeof(values[0]), compare);
Returns a pointer to the matching element in the array, or NULL if not found.
It is safe to call this function from any thread.
This function is available since SDL 3.2.0.
•(3), SDL_bsearch_r(3), •(3), SDL_qsort(3)
| SDL 3.2.10 | Simple Directmedia Layer |