Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <malloc.h>
  5.  
  6. int main()
  7. {
  8. int i, j;
  9. int n=100;
  10. int sr = 0, pr = 0;
  11. //scanf("%d", &n);
  12. int *arr = (int*)malloc(n* sizeof(int));
  13. srand(time(NULL));
  14. time_t start, end;
  15. start = time(NULL);
  16. //for (j = 0; j < 1000; j++)
  17. //{
  18. int step = n;
  19. for (i = 0; i < n; i++)
  20. {
  21. arr[i] =i ;
  22. }
  23. while (step > 1)
  24. {
  25. if (step > 1)
  26. step = step / 1.247;
  27. for (i = 0; (i + step) < n; ++i)
  28. {
  29. sr++;
  30. if (arr[i + step] > arr[i])
  31. {
  32. int tmp;
  33. tmp = arr[i];
  34. arr[i] = arr[i + step];
  35. arr[i + step] = tmp;
  36. pr++;
  37. }
  38. }
  39. }
  40. step = 1;
  41. for (i = 0; (i + step) < n; ++i)
  42. {
  43. sr++;
  44. if (arr[i + step] > arr[i])
  45. {
  46. int tmp;
  47. tmp = arr[i];
  48. arr[i] = arr[i + step];
  49. arr[i + step] = tmp;
  50. pr++;
  51. }
  52. }
  53. // }
  54. end = time(NULL);
  55. printf("\n");
  56. printf("time %f sec.\n", difftime(end, start));
  57. printf("\n");
  58. printf("%lf ", (sr));
  59. printf("\n");
  60. printf("%lf ", (pr));
  61. free(arr);
  62. return 1;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement