Niedziałający QuickSort
Ostatnio zmodyfikowano 2015-11-19 23:32
0laf5on Temat założony przez niniejszego użytkownika |
Niedziałający QuickSort » 2015-11-19 22:43:39 Cześć, Po napisaniu quicksort'a zobaczyłem, że algorytm sortuje jedynie niektóre z moich liczb z tablicy. Prosiłbym o pomoc, w celu zweryfikowania mojego kodu i ewentualne wskazanie błędu. Z góry dziękuje.
void quicksort (int tab [], int left, int right) { if (left < right) { int i=left; for (int j=left+1; j<=right; j++) { if (tab[left]>tab[j]) i++; { swap (tab [i], tab[j]); } } swap (tab[left], tab[i]); quicksort (tab, left, i-1); quicksort (tab, i+1, right); } } Biorąc np. tablicę 6 elementową {6,3,4,7,2,1} po wywołaniu mam {3,1,7,2,6,4}.
[/i] |
|
carlosmay |
» 2015-11-19 23:25:35 if( tab[ left ] > tab[ j ] ) i++;
{ swap( tab[ i ], tab[ j ] ); }
|
|
0laf5on Temat założony przez niniejszego użytkownika |
» 2015-11-19 23:32:49 Ok, wszystko jasne, dzięki za pomoc. |
|
« 1 » |