Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void sort_s(int lewy, int prawy, int tab[])
- {
- int i, j, temp, w;
- i = lewy; // 0
- j = prawy; // 99
- w = tab[(lewy + prawy) / 2];// w = tab[49] - wartość środkowej liczby
- do {
- while (tab[i]<w) i++; // i = pierwsza liczba w tablicy większa od w
- while (tab[j]>w) j--; // j = pierwsza liczba w tablicy mniejsza od w
- if (i <= j) // true - zamienia i z j
- {
- temp = tab[i];
- tab[i] = tab[j];
- tab[j] = temp;
- i++;
- j--;
- }
- } while (i <= j); //wykonuje do momentu w którym i jest większe od j, czyli gdy wszystkie liczby mniejsze od w będą po lewej, a wszystkie większe będą po prawej
- if (j>lewy) sort_s(lewy, j, tab); //wykonuje funkcje w przedziale 0 do j tablicy tab (wszystkie liczby mniejsze od w)
- if (i<prawy) sort_s(i, prawy, tab); //wykonuje funkcje w przedziale i do 99 tablicy tab (wszystkie liczby większe od w)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement