Код: Выделить всё
#include
#include
using namespace std;
void insertion_sort(vector & array)
{
for (int i = 1; i < array.size(); i++)
{
int sorted = i - 1;
while (sorted >= 0 && array[sorted] > array[sorted + 1])
{
long long tmp = array[sorted];
array[sorted] = array[sorted + 1];
array[sorted + 1] = tmp;
sorted--;
for (auto i : array)
cout > array[i];
}
insertion_sort(array);
}
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если после рассмотрения очередного элемента массив не изменился, то его выводить не нужно. Если массив упорядочен изначально, то следует не выводить ничего.
Входные данные
На первой строке дано число N
(1≤N≤100
) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109
.
Выходные данные
Выведите строки (по количеству вставок) по N
чисел каждая.
Примеры
2
2 1
1 2
4
2 1 5 3
1 2 5 3
1 2 3 5
Подробнее здесь: https://stackoverflow.com/questions/796 ... -of-sort-c
Мобильная версия