Bardzo proszę o pomoc z poniższym kodem. Niestety sortowanie przebiega niedokładnie, a więc to żadne sortowanie :) ale niestety nie mogę zlokalizować gdzie robię błąd.
void quicksort(int tab[],int poczatek, int koniec){
int punkt_podzialu = (poczatek+koniec)/2;
if(poczatek<koniec){
podzial(tab,poczatek,koniec,punkt_podzialu);
quicksort(tab,poczatek,punkt_podzialu-1);
quicksort(tab,punkt_podzialu+1,koniec);
}
return;
}
void podzial (int tab[], int poczatek,int koniec, int punkt_podzialu)
{
int i = poczatek;
int j = koniec;
int v = tab[poczatek];
int temp;
do {
while (tab[i] <= v)
i++;
while (v <= tab[j])
j--;
if ( i <= j )
{
temp = tab[i];
tab[i] = tab[j];
tab[j] = temp;
i++;
j--;
}
} while (i <= j);
return;
}