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)