Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come usare Funzione Quick Sort in C + + nella matrice di numeri interi

" 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 ) ;

 

Programmazione © www.354353.com