Cześć, dopiero się uczę i nie mam pojęcia gdzie jest błąd w powyższym kodzie, a nie zależy mi na tym żeby przepisać coś czego nie rozumiem z neta :')
Byłby ktoś w stanie nakierować na miejsce które należy poprawić?
Z góry dzięki.
#include <stdio.h>
#include <stdlib.h>
void quicksort(int* ciag,int a, int b){
int i,j,pivot,x;
i=a;
j=a;
pivot=ciag[b];
while(i<b){
if(ciag[i]<pivot){
i++;
j++;
}
while(ciag[i]>pivot){
i++;
}
if(ciag[i]<pivot){
x=ciag[i];
ciag[i]=ciag[j];
ciag[j]=x;
i++;
j++;
}
}
if(i<b){
quicksort(ciag,a,j);
}
if(i>b){
quicksort(ciag,j,b);
}
}
int main()
{
int n,i;
scanf("%d",&n);
int ciag[n];
for(i=0;i<n;i++){
scanf("%d",&ciag[i]);
}
quicksort(ciag,0,n-1);
for(i=0;i<n;i++){
printf("%d\t",ciag[i]);
}
return 0;
}