Witam, napisałem kod QuickSorta, kompiluje się, jednak później wychodzi taki błąd:
Segmentation fault
Process returned 139 (0x8B) execution time : 0.018 s
Press ENTER to continue.
Gdy wkleiłem i uruchomiłem to: http://miroslawzelent.pl/wyklady/sortowanie-szybkie-quicksort-dziel-zwyciezaj.pdf (implementacja) to wszystko działało, a kody są prawie takie same (zmienione nazwy zmiennych). Co robię źle?
#include <iostream>
void QuickSort(int* tab, int p, int q)
{
int piv = tab[(p+q)/2];
int i, j, temp;
i = p;
j = q;
do
{
while(i<piv) i++;
while(j>piv) j--;
if(i<=j)
{
temp = tab[i];
tab[i] = tab[j];
tab[j] = temp;
i++;
j--;
}
} while(i<=j);
if(j>p) QuickSort(tab, p, j);
if(i<q) QuickSort(tab, i, q);
}
int main()
{
int *arr = new int[6]{13,66,-32,19,44,0};
QuickSort(arr, 0, 5);
for(int i=0; i<6; i++)
std::cout<<arr[i]<<std::endl;
return 0;
}