ТЕРМІНОВО!!!!!!!!!!!!!!!!!!
С++
Відсортувати елементи одновимірного і двовимірного динамічних масивів (сортування простими вставками і швидке сортування) за зростанням (розмірність масивів: 27, 16х18)
Та прописати пояснення до коду
Ответы
Ответ:
Сортування простими вставками - це алгоритм сортування, який працює так: на кожному кроці вибирається один елемент масиву і вставляється на своє місце серед вже відсортованих елементів³. Цей алгоритм складається з двох циклів: один проходить по всьому масиву, а інший - по відсортованій частині¹.
Для сортування одновимірного динамічного масиву розмірності 27 можна написати такий код:
```cpp
// Створюємо динамічний масив розмірності 27
int n = 27;
int *arr = new int[n];
// Заповнюємо масив випадковими числами
srand(time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100;
}
// Виводимо масив до сортування
cout << "Масив до сортування:" << endl;
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
// Сортуємо масив простими вставками
for (int i = 1; i < n; i++) { // Починаємо з другого елемента
int x = arr[i]; // Запам'ятовуємо поточний елемент
int j = i - 1; // Індекс попереднього елемента
while (j >= 0 && arr[j] > x) { // Поки не досягли початку масиву і попередній елемент більший за поточний
arr[j + 1] = arr[j]; // Зсуваємо попередній елемент праворуч
j--; // Зменшуємо індекс попереднього елемента
}
arr[j + 1] = x; // Вставляємо поточний елемент на своє місце серед вже відсортованих
}
// Виводимо масив після сортування
cout << "Масив пiсля сортування:" << endl;
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
// Звiльняємо пам'ять, видiлену для динамiчного масиву
delete[] arr;
```