jammy (3) qsort_r.3.gz

Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

       qsort, qsort_r - ordena un vector

SINOPSIS

       #include <stdlib.h>

       void qsort(void *base, size_t nmemb, size_t size,
                  int (*compar)(const void *, const void *));

       void qsort_r(void *base, size_t nmemb, size_t size,
                  int (*compar)(const void *, const void *, void *),
                  void *arg);

   Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

       qsort_r(): _GNU_SOURCE

DESCRIPCIÓN

       La  función  qsort()  ordena  un  vector  de nmiemb elementos de tamaño tam.  El argumento base apunta al
       comienzo del vector.

       Los contenidos del vector se clasifican en orden ascendente de acuerdo a una función de comparación a  la
       que apunta compar, que se llama con dos argumentos que apuntan a los objetos a comparar.

       La  función  de  comparación  debe  devolver  un entero menor que, igual a, o mayor que cero si el primer
       argumento se considera respectivamente menor, igual o mayor que el segundo. Si dos miembros  se  comparan
       como iguales, su orden en el vector clasificado queda indefinido.

       The qsort_r()  function is identical to qsort()  except that the comparison function compar takes a third
       argument.  A pointer is passed to the comparison function via arg.  In this way, the comparison  function
       does not need to use global variables to pass through arbitrary arguments, and is therefore reentrant and
       safe to use in threads.

VALOR DEVUELTO

       The qsort()  and qsort_r()  functions return no value.

VERSIONES

       qsort_r()  was added to glibc in version 2.8.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌───────────────────┬────────────────────┬───────────────────┐
       │InterfazAtributoValor             │
       ├───────────────────┼────────────────────┼───────────────────┤
       │qsort(), qsort_r() │ Seguridad del hilo │ Multi-hilo seguro │
       └───────────────────┴────────────────────┴───────────────────┘

CONFORME A

       qsort(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

NOTAS

       To compare C strings, the comparison function can call strcmp(3), as shown in the example below.

EJEMPLOS

       For one example of use, see the example under bsearch(3).

       Another example is the following program, which sorts the strings given in its command-line arguments:

       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       static int
       cmpstringp(const void *p1, const void *p2)
       {
           /* The actual arguments to this function are "pointers to
              pointers to char", but strcmp(3) arguments are "pointers
              to char", hence the following cast plus dereference */

           return strcmp(*(const char **) p1, *(const char **) p2);
       }

       int
       main(int argc, char *argv[])
       {
           if (argc < 2) {
               fprintf(stderr, "Usage: %s <string>...\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp);

           for (int j = 1; j < argc; j++)
               puts(argv[j]);
           exit(EXIT_SUCCESS);
       }

VÉASE TAMBIÉN

       sort(1), alphasort(3), strcmp(3), versionsort(3)

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del
       proyecto,   información   sobre   cómo   informar   errores  y  la  última  versión  de  esta  página  en
       https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La  traducción  al  español  de  esta  página  del  manual  fue  creada  por  Gerardo  Aburruzaga  García
       <gerardo.aburruzaga@uca.es>

       Esta   traducción   es   documentación   libre;   lea   la   GNU   General   Public   License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones de copyright.   No
       existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org ⟨⟩.

                                                1 Noviembre 2020                                        QSORT(3)