Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- int i, j, n, d, gug, C, M;
- void Shell(int A[], int n) //сортировка Шелла
- {
- d = n;
- d = d / 2;
- while (d > 0)
- {
- for (i = 0; i < n - d; i++)
- {
- j = i;
- while (j >= 0 && A[j] > A[j + d])
- {
- gug = A[j];
- A[j] = A[j + d];
- A[j + d] = gug;
- M++;
- C++;
- j--;
- }
- M++;
- }
- C++;
- d = d / 2;
- }
- cout << "Колличество перемещенний =" << M << endl;
- cout << "Колличество сравнений =" << C << endl;
- }
- //главная функция
- void main()
- {
- srand((int)time(0));
- setlocale(LC_ALL, "Rus");
- cout << "Размер массива > ";
- cin >> n;
- int* A = new int[n]; //объявление динамического массива
- for (i = 0; i < n; i++) //ввод массива
- {
- A[i] = rand();
- }
- Shell(A, n);
- delete[] A; //освобождение памяти
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement