Advertisement
qradmanq

aoda 2

Mar 7th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4. int i, j, n, d, gug, C, M;
  5.  
  6. void Shell(int A[], int n) //сортировка Шелла
  7. {
  8. d = n;
  9. d = d / 2;
  10. while (d > 0)
  11. {
  12. for (i = 0; i < n - d; i++)
  13. {
  14. j = i;
  15. while (j >= 0 && A[j] > A[j + d])
  16. {
  17. gug = A[j];
  18. A[j] = A[j + d];
  19. A[j + d] = gug;
  20. M++;
  21. C++;
  22. j--;
  23. }
  24. M++;
  25. }
  26. C++;
  27.  
  28. d = d / 2;
  29. }
  30. cout << "Колличество перемещенний =" << M << endl;
  31. cout << "Колличество сравнений =" << C << endl;
  32.  
  33. }
  34. //главная функция
  35. void main()
  36. {
  37. srand((int)time(0));
  38. setlocale(LC_ALL, "Rus");
  39. cout << "Размер массива > ";
  40. cin >> n;
  41. int* A = new int[n]; //объявление динамического массива
  42. for (i = 0; i < n; i++) //ввод массива
  43. {
  44. A[i] = rand();
  45. }
  46.  
  47. Shell(A, n);
  48. delete[] A; //освобождение памяти
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement