Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65321

Quicksort - segmantation fault

$
0
0

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;
}

 


Viewing all articles
Browse latest Browse all 65321

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>