table of contents
- bullseye 4.10.0-1
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
QSORT(3) | Manual del Programador de Linux | QSORT(3) |
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);
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¶
La función qsort() y qsort_r() no devuelven nada.
VERSIONES¶
qsort_r() fue añadido en la versión 2.8 de glibc.
ATRIBUTOS¶
Para obtener una explicación de los términos usados en esta sección, véase attributes(7).
Interfaz | Atributo | Valor |
qsort(), qsort_r() | Seguridad del hilo | Multi-hilo seguro |
CONFORME A¶
qsort(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
NOTAS¶
Para comparar cadenas de C, la función que la realiza puede invocar la llamada strcmp(3) tal como se muestra en el siguiente ejemplo.
EJEMPLOS¶
Un buen ejemplo sería el que ilustra search(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¶
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> y Marcos Fouces <marcos@debian.org>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 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 |