Boa tarde!
Estou tentando implementar um algoritmo de Quicksort , mas não estou conseguindo , alguém poderia me ajudar a encontrar o erro nesse código.
Obs:Ainda não tenho muita experiência em programação , estou começando agora.
#include<stdio.h>
#define Max 5
int partition(int*,int,int);//assinatura da função
void quicksort(int *v,int start, int end){
if (start >= end) return;
int pivot = partition(v,start, end);
quicksort(v,start, pivot - 1);
quicksort(v,pivot + 1, end);
}
int partition(int *v,int start,int end){
int aux,k=start;
int fim =end;
for(int i=start;i<fim;i++){
while(v[i]<=v[fim]){
k++;
aux=v[k];
v[k]=v[i];
v[i]=aux;
}
}
aux=0;
aux=v[k];
v[k]=v[fim];
v[fim]=aux;
}
void main(){
int vet[Max];
for(int i =0 ; i<Max; i++){
scanf("%d",&vet[i]);
}
quicksort(vet,0,Max);
for(int i =0 ; i<Max; i++){
printf("%d",vet[i]);
}
}