Vlozte za implementation {$R *.lfm}
Var g: TTreeView;
Pozmnente proceduru quick
procedure quick (r, s: integer; t: TTreeNode);
...
t := g.Items.AddChild (t, IntToStr (r) + '..' + IntToStr (s));
...
if r
Upravte TForm1.Button1Click
procedure TForm1.Button1Click(Sender: TObject);
begin
fill;
g := TreeView1;
quick (1, n, nil);
end;
Cely soubor
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
TreeView1: TTreeView;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
Var g: TTreeView;
const n=31;
var a: array [1..n] of integer;
procedure aswap (i, j: integer);
var t : integer;
begin
t := a[i];
a[i] := a[j];
a[j] := t;
end;
procedure quick (r, s: integer; t: TTreeNode);
var i, k, x: integer;
begin
t := g.Items.AddChild (t, IntToStr (r) + '..' + IntToStr (s));
i := r;
k := s;
x := a[(i+k) div 2];
repeat
while a[i] < x do i:= i+1;
while a[k] > x do k:=k-1;
if i<=k then begin
aswap (i,k);
i:=i+1;
k:=k-1;
end;
until i>k;
if r a[i+1]then
ok:=false;
if not ok then
writeln('Chyba');
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
fill;
g := TreeView1;
quick (1, n, nil);
end;
end.