(таких вопрос тут куча но они на питоне, надо с++ обязательно, отдаю все баллы так что надеюсь на помощь)
Библиотечный метод
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если после рассмотрения очередного элемента массив не изменился, то его выводить не нужно. Если массив упорядочен изначально, то следует не выводить ничего.
Входные данные
На первой строке дано число N (1≤N≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109.
Выходные данные
Выведите строки (по количеству вставок) по N чисел каждая.
Примеры
Ввод:
2
2 1
Вывод:
1 2
Ввод:
4
2 1 5 3
Вывод:
1 2 5 3
1 2 3 5
Answers & Comments
#include <iostream>
#include <vector>
using namespace std;
void ins_sort(vector<int>& vec) {
for (int i = 1; i < vec.size(); i++) {
int j = i - 1;
int flag = 0;
int temp = vec[i];
while (j >= 0 && vec[j] > temp) {
vec[j + 1] = vec[j];
j--;
flag++;
}
vec[j + 1] = temp;
if (flag != 0) {
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
cout << endl;
}
}
}
signed main() {
int N;
cin >> N;
vector<int> vec(N);
for (int i = 0; i < N; i++)
cin >> vec[i];
ins_sort(vec);
return 0;
}