Учебное пособие: Основы дискретной математики

var a: array [0..n] of item; i, j: integer; x: item;

begin (*заданиеискомогомассива*)

for i:=1 to N do begin write ('введитеэлементa [', i, ']=');

readln (a[i])

end;

for i:=1 to N do begin write (a[i], ' ');

end;

writeln;

(*алгоритм сортировки включением*)

for i:=2 to n do

begin

x:=a[i]; j:=i; a[0]:=x; (*барьер*)

while x<a [j-l] do

begin

a[j]:=a [j‑1]; j:=j‑1;

end;

a[j]:=x;

{for k:=1to n do write (a[k], ' ') end; writeln;} end;

(*вывод отсортированного массива*)

for i:=1 to N do

begin

write (a[i], ' '); end;

readln; end.

В рассмотренном примере программы для анализа процедуры пошаговой сортировки можно рекомендовать использовать трассировку каждого прохода по массиву с целью визуализации его текущего состояния. В тексте программы в блоке непосредственного алгоритма сортировки в фигурных скобках находится строка, которая при удалении скобок выполнит требуемое (параметр k необходимо описать в разделе переменных – var k:integer ).

Вернемся к анализу метода прямого включения. Поскольку готовая последовательность уже упорядочена, то алгоритм улучшается при использовании алгоритма поиска делением пополам. Такой способ сортировки называют методом двоичного включения.

program sortirovka_2;

(*сортировка двоичным включением*)

const N=5;

type item= integer;

К-во Просмотров: 497
Бесплатно скачать Учебное пособие: Основы дискретной математики