Сна pascal, я не понимаю как реализовать это

alimbekoffniki alimbekoffniki    3   09.01.2020 19:58    2

Ответы
skillvip skillvip  11.08.2020 22:26

===== PascalABC.NET =====

procedure SortShell<T>(a: array of T);

 where T: IComparable<T>;

// сортировка по Шеллу

begin

 var n := a.Length;

 var d := n div 2;

 while d > 0 do

 begin

   var k := True;

   while k do

   begin

     k := False;

     for var i := 0 to n - d - 1 do

       if a[i].CompareTo(a[i + d]) > 0 then begin

         Swap(a[i], a[i + d]);

         k := True

       end

   end;

   d := d div 2

 end

end;

begin

 var a := ArrRandom(10, -20, 20); a.Println;

 SortShell(a); a.Println

end.


Сна pascal, я не понимаю как реализовать это
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика