fork(1) download
  1. #include <ctime>
  2. #include <iostream>
  3. #include <limits>
  4.  
  5. using namespace std;
  6.  
  7. void sortowanie(int *tab, int n, int maximum);
  8.  
  9. // n - ile szufladek w tablicy
  10. // *tab - przekazywanie oryginalnej tablicy do funkcji
  11. // maximum - najwieksza liczba w tablicy, ktora chcemy sortowac
  12.  
  13. int main()
  14. {
  15. srand(time(NULL));
  16. int n;
  17. cin >> n;
  18. int *tablica = new int [n];
  19. int najwieksza = numeric_limits<int>::min();
  20. for(int i = 0; i < n; i++)
  21. {
  22. tablica[i] = 1000000000 + rand() % 1000;
  23. if(tablica[i] > najwieksza)
  24. {
  25. najwieksza = tablica[i];
  26. }
  27. }
  28. clock_t start = clock();
  29. sortowanie(tablica, n, najwieksza);
  30. clock_t stop = clock();
  31. double czas = (double)(stop - start) / CLOCKS_PER_SEC;
  32. cout << "Czas wykonywania sortowania: " << czas << "s" << endl;
  33. delete [] tablica;
  34. return 0;
  35. }
  36.  
  37. void sortowanie(int *tab, int n, int maximum)
  38. {
  39. int miejsce = 0;
  40. for(int i = 0; i <= maximum; i++)
  41. {
  42. for(int j = 0; j < n; j++)
  43. {
  44. if(tab[j] == i)
  45. {
  46. int bufor = tab[miejsce];
  47. tab[miejsce] = tab[j];
  48. tab[j] = bufor;
  49. miejsce++;
  50. }
  51. }
  52. }
  53. }
  54.  
Success #stdin #stdout 3.06s 4856KB
stdin
4
stdout
Czas wykonywania sortowania: 3.05986s