Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. void sortowanie_szybkie_rek(int* tablica, int d, int g)
  2. {
  3. if (d < g)
  4. {
  5. int t = tablica[d];
  6. int s = d;
  7.  
  8. for (int i = d+1; i <= g; i++)
  9. {
  10. if (tablica[i] < t)
  11. {
  12. s = s + 1;
  13. swap(tablica[s], tablica[i]);
  14. }
  15. }
  16. swap(tablica[d], tablica[s]);
  17. sortowanie_szybkie_rek(tablica, d, s-1 );
  18. sortowanie_szybkie_rek(tablica, s+1 , g);
  19. }
  20. }
  21.  
  22. void mediana_z_3(int* tablica, int d, int g) //funkcja licząca miediane z 3 elementow
  23. { //z pierwszego srodkowego i ostatniego
  24. //gdzie miediana bedzie znajdowac się na początku
  25. int s = (d + g) / 2;
  26. if (tablica[g] < tablica[d])
  27. swap(tablica[d], tablica[g]);
  28. if (tablica[s] < tablica[d])
  29. swap(tablica[s], tablica[d]);
  30. if (tablica[g] < tablica[s])
  31. swap(tablica[g], tablica[s]);
  32.  
  33. swap(tablica[s], tablica[d]);
  34.  
  35. sortowanie_szybkie_rek(tablica, d, g);
  36. }
  37.  
  38.  
  39. ////////////////////////////////////////////////////////////////////
  40. void sortowanie_szybkie(int* tablica, int rozmiar)
  41. {
  42. mediana_z_3(tablica, 0, rozmiar -1);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement