“Conocimiento Programación>C /C + + Programming

Cómo utilizar Ordenación rápida Función en C + + en la matriz de enteros

2013/1/7
" ordenación rápida " es un algoritmo de ordenación que se ejecuta en n * Tiempo de log ( n) , lo que hace que sea muy eficiente para la clasificación de los conjuntos de datos de gran tamaño. Se utiliza un divide y vencerás que divide de manera eficiente conjuntos de datos para trabajar en varios componentes al mismo tiempo. La biblioteca de C + + estándar proporciona una función que implementa el algoritmo de ordenación rápida . Ordenar una lista de números enteros con rápida especie es sencillo cuando se utiliza esta aplicación librería estándar del algoritmo. Cosas que necesitará
texto editor
Compiler
Ver Más instrucciones
1

incluyen la cabecera de la biblioteca estándar " stdlib.h " . Este encabezado contiene la implementación ordenación rápida , al que se accede llamando a la función " qsort ":

# include
2

Cree su función de comparación . La función de comparación acepta dos argumentos de tipo " void * " , que deben ser emitidos a un tipo de datos específico y luego comparar. Si el primer elemento es menor que el segundo , un valor negativo debe ser devuelto de esta función . Si el primer elemento es mayor que el segundo , devolver un valor positivo . Si ambos elementos son iguales , devolverá cero :

CompareIntegers int ( const void * arg1 , const void * arg2 )

{

int val1 = * ( int * ) arg1 ;

int val2 = * (int *) arg2 ;

if ( val1 < val2 )

{

return -1 ;


} else if ( val1 > val2 )


{ return 1 ; }


//si hemos llegado hasta aquí , ambos elementos son iguales

return 0; }


3

En su código , llame a la función qsort . La función qsort toma cuatro argumentos: . Un puntero a la matriz para clasificar, el número de elementos en el array, el tamaño de cada elemento de la matriz , y la función de comparación

//tipo del array de enteros

qsort ( arrayToSort , NumberOfElements , sizeof (int ) , CompareIntegers ) ;

C /C + + Programming
Definición de formularios de Visual Basic
Cómo INT en C + + para números reales
Cómo calcular una expresión infija
Cómo construir un controlador de dispositivo
Cómo hacer tu propio motor del juego
Cómo hacer un botón de comando invisible en Visual C
¿Cuál es el propósito exacto de una computación?
¿Cómo revertir una matriz en C + +
Conocimiento de la computadora © http://www.ordenador.online