Advertisement
Guest User

NORBERT CFEL

a guest
Jan 21st, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. void countingsort(int A[], int B[], int k, int rozmiar)
  5. {
  6. int i;
  7. int *C = new int [k+1];
  8. for (i = 0; i <= k; i++)
  9. C[i] = 0;
  10. for (i = 0; i < rozmiar; i++)
  11. C[(A[i])]++;
  12.  
  13. for (i = 1; i <= k; i++)
  14. C[i] += C[i-1];
  15.  
  16. for (i = rozmiar-1; i >= 0; i--)
  17. {
  18. B[(C[(A[i])])-1] = A[i];
  19. C[(A[i])]--;
  20. }
  21. delete [] C;
  22. }
  23.  
  24. int max_liczba(int tablica[], int rozmiar)
  25. {
  26. int max = tablica[0];
  27. for (int i = 1; i < rozmiar; i++)
  28. {
  29. if (max < tablica[i])
  30. max = tablica[i];
  31. }
  32. return max;
  33. }
  34.  
  35. int main()
  36. {
  37. int ilosc_liczb, i;
  38. cout << "Podaj ilosc licz do posortowania: ";
  39. cin >> ilosc_liczb;
  40.  
  41. int *tablica_wejsciowa = new int [ilosc_liczb];
  42. int *tablica_wyjsciowa = new int [ilosc_liczb];
  43.  
  44. for (i = 0; i < ilosc_liczb; i++)
  45. {
  46. cout << "Podaj liczba: ";
  47. cin >> tablica_wejsciowa[i];
  48. }
  49.  
  50. int k = max_liczba(tablica_wejsciowa, ilosc_liczb);
  51. countingsort(tablica_wejsciowa,tablica_wyjsciowa, k, ilosc_liczb);
  52.  
  53. for (i = 0; i < ilosc_liczb; i++)
  54. cout << "tablica[" << i << "] = " << tablica_wyjsciowa[i] << endl;
  55.  
  56.  
  57. delete [] tablica_wejsciowa;
  58. delete [] tablica_wyjsciowa;
  59.  
  60. return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement