Информатика -продвинутый курс


         

of item; i, j: integer;


program sortirov)ca_l;

(*сортировка включением по линейному поиску*) const N=5;

type item= integer;

var a: array[l..n] of item; i, j: integer; х: item;

begin

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

for i:=l to N do begin write('введи

элемент a[',i,']=');

readln(a[i]) end;

for i:=l 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-l); j:=j-l;

end;

a[j]:=x; .

(for k:=l to n do write(a[k.l, ' ') end; writeln;) end;

(*вывод отсортированного массива*) for i:=l to N

do begin

.

write(a[i], ' ') ;

end;

readln;

end.

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

необходимо описать в разделе переменных - var k:integer). Во всех последующих программах сортировки легко осуществить подобную процедуру.

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

Программа 45

program sortirovka_2;

(*сортировка двоичным включением*) const N=5;

type item= integer;

var a: array(l..n] of item; i, j, m, L, R: integer; x: item;

begin

(*задание элементов массива*) for i:=l to N do

begin write('Bведи элемент a[',i,']= '-); readln(a[i]) ;

end;

for i:=l to N do

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

end;

writeln;

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

for i:=2 to n do begin

x:=a(i]; L:=l; R:=i;

while L<R do begin

m:=(L+R) div 2; if a[m]<=x then L:=m+l else R:=m;

end;

for j:=i downto R+l do a(j]:=a[j-1];

a[R]:-x;

end;

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


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий