// PROBAR QSORT.
// EJEMPLO DE COMO FUNCIONA.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int ORDEN;
/* comparar */
int comparar( const void * arg1,
const void * arg2 )
{
return ORDEN * stricmp( (const char *)arg1, (const char *)arg2 ) ;
}
/* main */
void main()
{
int i;
char array[10][20];
strcpy( array[0], "coche" );
strcpy( array[1], "animal" );
strcpy( array[2], "cine" );
strcpy( array[3], "ocio" );
strcpy( array[4], "mujer" );
strcpy( array[5], "progrmar" );
strcpy( array[6], "hamburguesa" );
strcpy( array[7], "zanahoria" );
strcpy( array[8], "alcohol" );
strcpy( array[9], "xenon" );
// - - - - - - - - - - - - - - -
// Mostrar.
printf( "
Normal...
" );
for( i=0; i<10; i++ )
{
printf( "array[%i] = %s
", i, array[i] );
}
// - - - - - - - - - - - - - - -
// Sorteo ASC.
ORDEN = 1;
qsort( &array, 10, sizeof(array[0]), comparar );
printf( "
Sorteo ASC...
" );
for( i=0; i<10; i++ )
{
printf( "array[%i] = %s
", i, array[i] );
}
// - - - - - - - - - - - - - - -
// Sorteo DESC.
ORDEN = -1;
qsort( array, 10, sizeof(array[0]), comparar );
printf( "
Sorteo DESC...
" );
// Mostrar.
for( i=0; i<10; i++ )
{
printf( "array[%i] = %s
", i, array[i] );
}
}