08/06/2016

quicksort

Olá pessoal, estou no 3 período de ciência da computação, fiz esse cod de ordenação quicksort, ele precisa esta implementado de maneira recursiva com uso de TAD's, o problema que esta dando tela preta quando copilado... nao sei o erro me ajuda, pfvr.



#include<stdio.h>

#define TAM 5



int particao(int *v , int esq, int dir){
int aux;

int part= v[(dir+esq)/2];
while(esq<=dir){

while(v[esq]<v[part] && esq <dir){

esq++;
}


while(v [dir] >v[part] && dir<esq){

dir--;}




if(dir<=esq){
aux = esq;
esq = dir;
dir = aux;
esq++;
dir--;

}


}
}




void qksort(int *v, int esq,int dir){
int part;

part= particao(v,esq,dir);

if(dir<part){
return qksort(v,esq,part+1);}


if(esq<=part){
return qksort(v,part-1,dir);
}






}



int main(){
int vet[TAM]={2,7,5,3,6};
int i;

qksort(vet,0,TAM-1);

printf(" \n Valores ordenados \n");
for(i = 0; i < TAM; i++)
{
printf("%d\n", vet[i]);
}
system("pause");
return 0;



}