Реализовать в виде процедур сортировку массива целых чисел методом сортировки с разделителем (быстрая сортировка)
Категория: Delphi/Pascal
2011-09-18 20:12:41
code: #delphi
program Quitsort; uses crt; Const N=10; Type Mas=array[1..n] of integer; var a: mas; k: integer; function Part(l, r: integer):integer; var v, i, j, b: integer; begin V:=a[r]; I:=l-1; j:=r; repeat repeat dec(j) until (a[j]<=v) or (j=i+1); repeat inc(i) until (a[i]>=v) or (i=j-1); b:=a[i]; a[i]:=a[j]; a[j]:=b; until i>=j; a[j]:=a[i]; a[i]:= a[r]; a[r]:=b; part:=i; end; procedure QuickSort(l, t: integer); var i: integer; begin if lthen begin i:=part(l, t); QuickSort(l,i-1); QuickSort(i+1,t); end; end; begin clrscr; randomize; for k:=1 to 10 do begin a[k]:=random(100); write(a[k]:3); end; QuickSort(1,n); writeln; for k:=1 to n do write(a[k]:3); readln; end.
Поделиться: