Provided by: manpages-ro-dev_4.27.0-1_all 

NUME
qsort, qsort_r - sortează o matrice
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <stdlib.h>
void qsort(void base[.size * .nmemb], size_t nmemb, size_t size,
int (*compar)(const void [.size], const void [.size]));
void qsort_r(void base[.size * .nmemb], size_t nmemb, size_t size,
int (*compar)(const void [.size], const void [.size], void *),
void *arg);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):
qsort_r():
_GNU_SOURCE
DESCRIERE
Funcția qsort() sortează o matrice cu nmemb elemente de dimensiunea size. Argumentul base indică
începutul matricei.
Conținutul matricei este sortat în ordine crescătoare în conformitate cu o funcție de comparație indicată
de compar, care este apelată cu două argumente care indică obiectele care sunt comparate.
Funcția de comparare trebuie să returneze un număr întreg mai mic, egal sau mai mare decât zero dacă
primul argument este considerat a fi mai mic, egal sau mai mare decât al doilea. În cazul în care doi
membri se compară ca fiind egali, ordinea lor în matricea sortată este nedefinită.
Funcția qsort_r() este identică cu qsort(), cu excepția faptului că funcția de comparație compar primește
un al treilea argument. Un indicator este transmis funcției de comparare prin arg. În acest fel, funcția
de comparare nu trebuie să utilizeze variabile globale pentru a trece prin argumente arbitrare și, prin
urmare, este reentrantă și poate fi utilizată în siguranță în fire de execuție.
VALOAREA RETURNATĂ
Funcțiile qsort() și qsort_r() nu returnează nicio valoare.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ qsort(), qsort_r() │ Siguranța 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, funcția de comparare poate apela strcmp(3), după cum se arată în
exemplul de mai jos.
EXEMPLE
Pentru un exemplu de utilizare, a se vedea exemplul de la bsearch(3).
Un alt exemplu este următorul program, care sortează șirurile de caractere date în argumentele din linia
de comandă:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static int
cmpstringp(const void *p1, const void *p2)
{
/* Argumentele reale ale acestei funcții sunt " indicatori la
indicatorii către char", dar argumentele strcmp(3) sunt "indicatori".
către char", de aceea următoarele sunt convertite și dereferențiate. */
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);
}
CONSULTAȚI ȘI
sort(1), alphasort(3), strcmp(3), versionsort(3)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.9.1 15 iunie 2024 qsort(3)