یه نمونه برنامه الگوریتم Shell


Var
a:array [1..10000] of integer;
i,j,k,t,g:integer;
begin
g:=10000 div 2;
while (g>0) do begin
for i:=(g+1) to 10000 do begin
j:=i-g;
while (j>0) do begin
k:=j+g
if (a[j]<=a[k]) then j:=0 else begin
t:=a[j];
a[j]:=a[k];
a[k]:=t;
j:=j-g;
end;
end;
end;
g:=g div 2;
end ;
end.