" quick sort " è un algoritmo di ordinamento che viene eseguito in n * log ( n) , che lo rende molto efficace per l'ordinamento di grandi insiemi di dati . Utilizza un - divide et impera approccio che divide in modo efficiente insiemi di dati per lavorare su più componenti contemporaneamente . La libreria standard C + + fornisce una funzione che implementa l' algoritmo di ordinamento veloce . Ordinamento di un elenco di numeri interi con quick sort è semplice quando si usa questa applicazione libreria standard dell'algoritmo . Cose che ti serviranno
Text Editor
Compiler
Mostra più istruzioni
1
comprende la norma intestazione libreria " stdlib.h " . Questa intestazione contiene l'implementazione quick sort , a cui si accede tramite la funzione " qsort " :
# include
2
Crea la funzione di confronto . La funzione di confronto accetta due argomenti di tipo " void * " , che devono essere espressi in un tipo di dati specifico e quindi rispetto . Se il primo elemento è minore del secondo , un valore negativo deve essere restituito da questa funzione . Se il primo elemento è maggiore del secondo , restituire un valore positivo . Se entrambi gli elementi sono uguali , ritornare a zero :
int CompareIntegers ( const void * arg1, const void * arg2 ) per
{
int val1 = * ( int * ) arg1 ;
int val2 = * ( int * ) arg2 ;
if ( val1 < val2 ) per
{
return -1 ;
}
else if ( val1 > val2 ) per
{
return 1; }
//se siamo arrivati qui , entrambi gli elementi sono uguali
return 0; }
3
Nel codice, chiamare la funzione qsort . La funzione qsort prende quattro argomenti : . Un puntatore al vettore di ordinamento, il numero di elementi nella matrice , la dimensione di ogni elemento della matrice , e la funzione di confronto
//ordinare l'array di interi
qsort ( arrayToSort , numberOfElements , sizeof (int ) , CompareIntegers ) ;