Program: przedstawiający shellsort na danej tablicy.
Program sam losuje 50 liczb, po czym przy użyciu metody Shella sortuje wszystkie liczby.
Kompilator: Turbo Pascal
Kod programu:
program shellsort;
uses crt;
var
a:array[1..100] of word;
i,j,n,k,tmp:integer;
begin
clrscr;
n:=50;
for i:=1 to n do
begin
a[i]:=random(5000)+1;
write(a[i]:5);
end;
for k:=3 downto 1 do
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]<a[i]
then
begin
tmp:=a[j];
a[j]:=a[i];
a[i]:=tmp;
end;
writeln;
writeln('Po sortowaniu: ');
for i:=1 to n do
write(a[i]:5);
readkey;
end. Słowniczek pojęć:
Algorytm sortowania działający w miejscu i korzystający z porównań elementów. Stanowi uogólnienie sortowania przez wstawianie, dopuszczające porównania i zamiany elementów położonych daleko od siebie. Jego pierwszą wersję opublikował w 1959 roku Donald Shell. Złożoność czasowa sortowania Shella w dużej mierze zależy od użytego w nim ciągu odstępów. Wyznaczenie jej dla wielu stosowanych w praktyce wariantów tego algorytmu pozostaje problemem otwartym.