qsort(3) Library Functions Manual qsort(3) NUME qsort, qsort_r - sorteaza o matrice BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include void qsort(size_t n, size_t size; void base[n * size], size_t n, size_t size, typeof(int (const void [size], const void [size])) *compar); void qsort_r(size_t n, size_t size; void base[n * size], size_t n, size_t size, typeof(int (const void [size], const void [size], void *)) *compar, void *arg); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): qsort_r(): _GNU_SOURCE DESCRIERE Funcia qsort() sorteaza o matrice cu n elemente de dimensiunea size. Argumentul base indica inceputul matricei. Coninutul matricei este sortat in ordine crescatoare in conformitate cu o funcie de comparaie indicata de compar, care este apelata cu doua argumente care indica obiectele care sunt comparate. Funcia de comparare trebuie sa returneze un numar intreg mai mic, egal sau mai mare decat zero daca primul argument este considerat a fi mai mic, egal sau mai mare decat al doilea. In cazul in care doi membri se compara ca fiind egali, ordinea lor in matricea sortata este nedefinita. Funcia qsort_r() este identica cu qsort(), cu excepia faptului ca funcia de comparaie compar primete un al treilea argument. Un indicator este transmis funciei de comparare prin arg. In acest fel, funcia de comparare nu trebuie sa utilizeze variabile globale pentru a trece prin argumente arbitrare i, prin urmare, este reentranta i poate fi utilizata in sigurana in fire de execuie. VALOAREA RETURNATA Funciile qsort() i qsort_r() nu returneaza nicio valoare. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |qsort(), qsort_r() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE qsort() C11, POSIX.1-2008. ISTORIC qsort() POSIX.1-2001, C89, SVr4, 4.3BSD. qsort_r() glibc 2.8. NOTE Pentru a compara iruri de caractere C, funcia de comparare poate apela strcmp(3), dupa cum se arata in exemplul de mai jos. EXEMPLE Pentru un exemplu de utilizare, a se vedea exemplul de la bsearch(3). Un alt exemplu este urmatorul program, care sorteaza irurile de caractere date in argumentele din linia de comanda: #include #include #include static int cmpstringp(const void *p1, const void *p2) { /* Argumentele reale ale acestei funcii sunt " indicatori la indicatorii catre char", dar argumentele strcmp(3) sunt "indicatori". catre char", de aceea urmatoarele sunt convertite i derefereniate. */ return strcmp(*(const char **) p1, *(const char **) p2); } int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "Utilizare: %s <ir>...\n", argv[0]); exit(EXIT_FAILURE); } qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp); for (size_t j = 1; j < argc; j++) puts(argv[j]); exit(EXIT_SUCCESS); } CONSULTAI I sort(1), alphasort(3), strcmp(3), versionsort(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 8 februarie 2026 qsort(3)