с помощью обмена является обмен
procedure sift(L,R:integer);
var i, j: integer; x,y: item;
begin i:=L; j:=2*L; x:=a[L]; if (j<R) and (a[j]<a[j+1]) then j:=j+l;
while (j<=R)and(x<a[j]) do begin y:=a[i]; a[i]:=a[j];
а[j]:=y a[i]:=a[j]; i:=j; j:=2*j;
if (j<R)and(a[j]<a(j+l]) thenj:=j+l;
end;
end;
begin
(*задание искомого массива*) for k:=l to N do begin write('введи элемент
a[',k,']=');
readln(a[k]) ;
end;
for k:=l to N do begin write(a[k], ' ');
end;
writeln;
(*алгоритм сортировки с помощью дерева*) (*построение пирамиды*) L:=(n div 2) +1; R:=n; while L>1 do begin L:=L-1; SIFT(L,R);
end;
(*сортировка*) while R>1 do begin x:=a[l]; a[l]:=a[R]; a(R]:=x;
R:=R-1; SIET(1,R);
end;
(*вывод отсортированного массива*) for k:=l to N do begin write(a[k],' ');
end;
readin;
end.
Сортировка с помощью обменов. Характерной чертой алгоритмов сортировки с помощью обмена является обмен местами двух элементов массива после их сравнения друг с другом. В так называемой «пузырьковой сортировке» проводят несколько проходов по массиву, в каждом из которых повторяется одна и та же процедура: сравнение двух последовательно стоящих элементов и их обмен местами в порядке меньшинства (старшинства) Подобная процедура сдвигает наименьшие элементы к левому концу массива. Название этого алгоритма связано с интерпретацией элементов как пузырей в сосуде с водой, обладающих весом соответствующего элемента (при этом массив надо представлять в вертикальном положении). При каждом проходе пузырьки всплывают до своего уровня.
Программа 49
program 5ortirovka_6;
(*сортировка прямым обменом - пузырьковая сортировка*)
const N=5;
type item= integer; var a: array(l,.n] of item; i, j: integer;
x: 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 for j:=n downto i do begin
if a[j-l]>a[j] then begin x:=a [j-1] ;a [j-1] :=a[j]; a[j]:=x;
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий