Скачиваний:
34
Добавлен:
02.05.2014
Размер:
1.45 Кб
Скачать
Program shaker_sort;
const
max = 10000;
type myArray = array[0..max] of integer;
var dimension, i : integer;
arr, sortArray : myArray;

function shakerSort( var arr : myArray; const length : integer ) : myArray;
var j, k, L, R : integer;
item : integer; i : integer;
begin
L := 1;
R := length - 1;
k := length - 1;
repeat
for j := R downto L do begin
if arr[j-1] > arr[j] then begin
item := arr[j-1];
arr[j-1] := arr[j];
arr[j] := item;
k := j;
end;
end;
L := k + 1;
for j := L to R do begin
if arr[j-1] > arr[j] then begin
item := arr[j-1];
arr[j-1] := arr[j];
arr[j] := item;
k := j;
end;
end;
R := k - 1;
until L > R;

shakerSort := arr;
end;

begin
writeln('Shaker Sort.');
write('Enter array dimension: '); readln( dimension );
write('Enter '); write( dimension ); write(' elements: ');
for i := 0 to dimension-1 do
read(arr[i]);
sortArray := shakerSort( arr, dimension );
write('Sorting array: ');
for i := 0 to dimension-1 do begin
write( sortArray[i] ); write(' '); end;
writeln;
writeln('Press any key to continue...');
readln;
readln;
end.