Программирование на языке Pascal

       

Реализация алгоритма Быстр


type index = 1..N; var a: array[index] of integer;

procedure quicksort(l,r:index); var i,j: index; x,z: integer; begin i:= l; j:= r; x:= a[(l+r)div 2]; repeat while a[i]< x do inc(i); while a[j]> x do dec(j); if i <= j then begin z:= a[i]; a[i]:= a[j]; a[j]:= z; inc(i); dec(j); end; until i>j; if l<j then quicksort(l,j); if i<r then quicksort(i,r); end; begin {тело программы} ... quicksort(1,n); ... end.



Содержание раздела