#include void insertionSort(int arr[], int n) { // Алгоритм сортировки вставками for (int i = 1; i < n; i++) { // Подбираем ключевой элемент. int key = arr[i]; // Устанавливаем j в конец массива, чтобы идти из конца в начало int j = i - 1; // Перемещение до тех пор, пока не достигнуто начало массива // и значение текущего элемента меньше ключевого while (j >= 0 && arr[j] > key) { // Перемещаем элемен вправо arr[j + 1] = arr[j]; // Сдвигаем индекс левее j = j - 1; } // Ключевой элемент располагается правее последней позиции j // (начало массива или элемент, больший чем ключевое значение) arr[j + 1] = key; } } int main() { int arr[] = {12, 11, 13, 5, 6}; int n = sizeof(arr) / sizeof(arr[0]); insertionSort(arr, n); for (int i = 0; i < n; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; }