Предмет: Информатика,
автор: viktorfedotov334
(таких вопрос тут куча но они на питоне, надо с++ обязательно, отдаю все баллы так что надеюсь на помощь)
Библиотечный метод
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если после рассмотрения очередного элемента массив не изменился, то его выводить не нужно. Если массив упорядочен изначально, то следует не выводить ничего.
Входные данные
На первой строке дано число N (1≤N≤100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109.
Выходные данные
Выведите строки (по количеству вставок) по N чисел каждая.
Примеры
Ввод:
2
2 1
Вывод:
1 2
Ввод:
4
2 1 5 3
Вывод:
1 2 5 3
1 2 3 5
Ответы
Автор ответа:
2
#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;
}
Приложения:
viktorfedotov334:
спасибо большое! код и в правду работает, спасибо еще раз!
Похожие вопросы
Предмет: Русский язык,
автор: konashenkoarseniy
Предмет: Другие предметы,
автор: Аноним
Предмет: Английский язык,
автор: Аноним
Предмет: Другие предметы,
автор: sofaivlove1
Предмет: Русский язык,
автор: Sadoyiniy