Челночная сортировка (улучшенная версия сортировки пузырьковым методом) — Pascal(Паскаль)

type
DataItem = char;
DataArray = array [1..80] of char;


procedure Shaker(var item: DataArray; count:integer);
var
j, k, l, r: integer;
x: DataItem;
begin
l := 2; r := count; k := count;
repeat
for j := r down
to l do
if item[j-1] then
begin { обмен }
x := item[j-1];
item[j-1] := item[j];
item[j] := x;
k := j;
end;
l := k+1;
for j := l to r do
if item[j-1]>item[j] then
begin { обмен }
x := item[j-1];
item[j-1] := item[j];
item[j] := x;
k := j;
end;
r := k-1; until l>r
end; 

Leave a Comment

1 + 9 =