Библиотечный метод - Pascal
Формулировка задачи:
Продемонстрируйте работу метода сортировки вставками по возрастанию. Для этого выведите состояние данного массива после каждой вставки на отдельных строках. Если массив упорядочен изначально, то следует не выводить ничего.
Входные данные
На первой строке дано число (1 ≤ N ≤ 100) – количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 109.
Выходные данные
В выходной файл выведите строки (по количеству вставок) по N чисел каждая.
Примеры
входные данные
2
2 1
выходные данные
1 2
входные данные
4
2 1 5 3
выходные данные
1 2 5 3
1 2 3 5
Решение задачи: «Библиотечный метод»
textual
Листинг программы
const max=100; type mas=array[1..max] of longint; procedure print(a:mas;n:byte); var i:byte; begin for i:=1 to n do write(a[i],' '); writeln; end; var a:mas; n,i,j,k:byte; c:longint; begin readln(n); for i:=1 to n do read(a[i]); print(a,n); for i:=2 to n do for j:=1 to i-1 do if a[j]>a[i] then begin c:=a[i]; for k:=i downto j+1 do a[k]:=a[k-1]; a[j]:=c; print(a,n); end; end.
Объяснение кода листинга программы
- Создается константа
max
со значением 100. - Определяется тип
mas
как массив из 1 доmax
элементов типаlongint
. - Объявляется процедура
print
с параметрамиa
типаmas
иn
типаbyte
. - Внутри процедуры
print
создается переменнаяi
типаbyte
. - Вводится переменная
a
типаmas
для хранения массива. - Объявляются переменные
n
,i
,j
,k
типаbyte
иc
типаlongint
. - Считывается значение переменной
n
с клавиатуры. - Считываются элементы массива
a
доn
. - Вызывается процедура
print
для отображения массиваa
и его размера. - Выполняется внешний цикл от 2 до
n
. - Внутри внешнего цикла выполняется внутренний цикл от 1 до
i-1
. - Если элемент массива
a
с индексомj
больше чем элемент массиваa
с индексомi
, то:- Присваивается переменной
c
значение элементаa[i]
. - Запускается цикл от
i
доj+1
и каждому элементу присваивается значение предыдущего элемента. - Элементу массива
a
с индексомj
присваивается значениеc
. - Вызывается процедура
print
для отображения отсортированного массиваa
.
- Присваивается переменной
- Завершается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д