Sortare si cautare
Nume
qsort - sorteaza un tablou
bsearch - cautare binara intr-un tablou sortat
Declaratie
#include <stdlib.h>
void qsort(void *base, unsigned nel,
unsigned size, int (*comp)
(const void *, const void *));
void *bsearch(const void *key, const void
*base, unsigned nel, unsigned size, int
(*comp)(const void *, const void *));
Descriere
Functia qsort sorteaza un tablou de nel elemente, fiecare de marime size. Argumentul base indica spre inceputul tabloului.
Elementele tabloului sint sortate in ordine crescatoare in concordanta cu functia de comparare referita de comp, apelata cu doua argumente care indica spre obiectele ce se compara. Functia de comparare trebuie sa returneze un intreg mai mic decit, egal cu, sau mai mare decit zero daca primul argument este considerat a fi mai mic decit, egal cu, respectiv mai mare decit al doilea. Daca cele doua elemente comparate sint egale, ordinea in tabloul sortat este nedefinita.
Functia bsearch cauta intr-un tablou de nel elemente, fiecare de marime size, un membru care coincide cu obiectul indicat de key. Argumentul base indica spre inceputul tabloului.
Continutul tabloului trebuie sa fie sortat crescator in concordanta cu functia de comparare referita de comp, apelata cu doua argumente care indica spre obiectele ce se compara. Functia de comparare trebuie sa returneze un intreg mai mic decit, egal cu, sau mai mare decit zero daca primul argument este considerat a fi mai mic decit, egal cu, respectiv mai mare decit al doilea.
Valoare returnata
Functia bsearch returneaza un pointer la un membru al tabloului care coincide cu obiectul indicat de key, sau NULL daca nu se gaseste nici un membru. Daca exista mai multe elemente care coincid cu key, poate fi returnat oricare element cu aceasta proprietate.
|