Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void sortowanie_szybkie_rek(int* tablica, int d, int g)
- {
- if (d < g)
- {
- int t = tablica[d];
- int s = d;
- for (int i = d+1; i <= g; i++)
- {
- if (tablica[i] < t)
- {
- s = s + 1;
- swap(tablica[s], tablica[i]);
- }
- }
- swap(tablica[d], tablica[s]);
- sortowanie_szybkie_rek(tablica, d, s-1 );
- sortowanie_szybkie_rek(tablica, s+1 , g);
- }
- }
- void mediana_z_3(int* tablica, int d, int g) //funkcja licząca miediane z 3 elementow
- { //z pierwszego srodkowego i ostatniego
- //gdzie miediana bedzie znajdowac się na początku
- int s = (d + g) / 2;
- if (tablica[g] < tablica[d])
- swap(tablica[d], tablica[g]);
- if (tablica[s] < tablica[d])
- swap(tablica[s], tablica[d]);
- if (tablica[g] < tablica[s])
- swap(tablica[g], tablica[s]);
- swap(tablica[s], tablica[d]);
- sortowanie_szybkie_rek(tablica, d, g);
- }
- ////////////////////////////////////////////////////////////////////
- void sortowanie_szybkie(int* tablica, int rozmiar)
- {
- mediana_z_3(tablica, 0, rozmiar -1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement