void quicksort( int *vet, int n ) {
int i;
int aux = 0;
int posesq = 0;
int posdir = n-1;
int pivo = vet[n/2];
do{
while(vet[posesq]<pivo)posesq++;
while(vet[posdir]>pivo)posdir--;
if( posdir >= posesq ){
aux=vet[posesq];
vet[posesq]=vet[posdir];
vet[posdir]=aux;
posdir--;
posesq++;
}
}while(posdir>=posesq);
if (posdir) {
quicksort(vet,posdir+1);
}
if(posesq<n-1){
quicksort(vet + posesq, n - posesq );
}
}
Nenhum comentário:
Postar um comentário