#include #include void insertionSort(std::vector& arr) { int n = arr.size(); for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; for (int k = 0; k < arr.size(); k++) { std::cout << arr[k] << " "; } std::cout << std::endl; } } int main() { int n; std::cin >> n; std::vector arr(n); for (int i = 0; i < n; i++) { std::cin >> arr[i]; } insertionSort(arr); return 0; }
arr[j + 1] = key;
if (j != i - 1) { arr[j + 1] = key;} else { continue;}
4
2 1 5 3,
Вывод --
1 2 5 3
1 2 5 3
1 2 3 5
Мне нужно убрать верхнее число, но я не знаю как. Нужно чтобы выводило только 2 последние. Как это исправить?