" tipo rápido" é um algoritmo de ordenação que é executado em * log n ( n), o que o torna muito eficiente para a classificação de grandes conjuntos de dados. Ele usa uma abordagem de dividir e conquistar , que divide os conjuntos de dados de forma eficiente para trabalhar em vários componentes simultaneamente. A + + biblioteca padrão C oferece uma função que implementa o algoritmo de ordenação rápida. Classificando uma lista de inteiros com classificação rápida é simples quando se utiliza esta implementação da biblioteca padrão do algoritmo. Coisas que você precisa
editor de texto
Compiler
Mostrar Mais instruções
um
Inclua o padrão cabeçalho da biblioteca " stdlib.h " . Este cabeçalho contém a implementação classificação rápida , que é acessado chamando a função " qsort " :
# include
2 Crie a sua função de comparação . A função de comparação aceita dois argumentos do tipo " void * " , que deve ser convertido para um tipo de dados específico e , em seguida, comparados. Se o primeiro elemento é menor do que o segundo , um valor negativo devem ser devolvidos a partir desta função . Se o primeiro elemento é maior do que o segundo , o retorno de um valor positivo . Se os dois elementos forem iguais, retornar zero :
int CompareIntegers (void const * arg1, const void * arg2 )
{
int val1 = * (int *) arg1 ;
int val2 = * (int *) arg2 ;
if ( val1 < val2 )
{
retornar -1 ;
}
else if ( val1 > val2 )
{
retornar 1 ;
}
//se chegamos até aqui , os dois elementos são iguais
return 0; }
3
Em seu código, chamar a função qsort . A função qsort leva quatro argumentos : um ponteiro para a matriz para classificar , o número de elementos na matriz , o tamanho de cada elemento na matriz , ea função de comparação
//tipo do array de inteiros.
qsort ( arrayToSort , numberOfElements , sizeof (int) , CompareIntegers );