Сириус, Библиотечный метод сортировки, Квадратичные сортировки.
Есть код,
1234567891011121314151617181920212223242526272829303132333435
#include <iostream>
#include <vector>
void insertionSort(std::vector<int>& 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<int> arr(n);
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}
insertionSort(arr);
return 0;
}
Когда ввожу
4
2 1 5 3,
Вывод --
1 2 5 3
1 2 5 3
1 2 3 5
Мне нужно убрать верхнее число, но я не знаю как. Нужно чтобы выводило только 2 последние. Как это исправить?
По дате
По рейтингу
Эту строчку
1
arr[j + 1] = key;
переписать, например, так:
12345
if (j != i - 1) {
arr[j + 1] = key;
} else {
continue;
}
6