У меня теперь такой вопрос к знатокам.Сортировка Шелла как я правильно понимаю заключается в том,что мы из массива вытаскиваем подмассив с определённым шагом, его сортируем и опять заносим в основной массив.Так? 
Вот в инете нашёл алгоритм сортировки, якобы Шелла как говорят:
Код
Procedure Sort( var a : seq);
Var d, i, t : integer;
   k : boolean; { пpизнак пеpестановки }
  begin
  d:=N div 2;  { начальное значение интеpвала }
  while d>0 do begin { цикл с yменьшением интеpвала до 1 }
    { пyзыpьковая соpтиpовка с интеpвалом d }
    k:=true;
    while k do begin  { цикл, пока есть пеpестановки }
      k:=false; i:=1;
      for i:=1 to N-d do begin
        { сpавнение эл-тов на интеpвале d }
        if a[i]>a[i+d] then begin
          t:=a[i]; a[i]:=a[i+d]; a[i+d]:=t; { пеpестановка }
          k:=true;  { пpизнак пеpестановки }
          end; { if ... }
        end; { for ... }
      end; { while k }
    d:=d div 2;  { yменьшение интеpвала }
    end;  { while d>0 }
end;
Но если тут присмотреться, то на самом деле мы просто попарно сравниваем элементы отстоящие др. от др. на определённый шаг.Но это же не сортировка Шелла,или я ошибаюсь?