unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure QuickSort(var N: array of integer; L, R: integer);
var
I, J, IntTemp: integer;
begin
if L < R then
begin
I := L;
J := R;
IntTemp := N[I];
while I < J do
begin
while (I < J) and (N[J] >= IntTemp) do
begin
J := J - 1;
end;
if I < J then
N[I] := N[J];
while (I < J) and (N[I] <= IntTemp) do
begin
I := I + 1;
end;
if I < J then
N[J] := N[I];
end;
N[I] := IntTemp;
QuickSort(N, L, I - 1);
QuickSort(N, I + 1, R);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var N: array of integer;
i, L, R,a: integer;
st:TStringList;
begin
SetLength(n,5);
ST:=tSTRINGLIST.create;
for i:= 0 to 4 do
begin
n[i]:=StrToInt(Copy(Memo1.Lines[i],2,1));
end;
QuickSort(n,0,4);
for i:= 0 to 4 do
begin
Memo2.lines.add(IntToStr(n[i]));
end;
for i:= 0 to 4 do
begin
st.add(IntToStr(n[i]));
st.Sort;
end;
for i:= 0 to 4 do
begin
Memo3.Lines.Add(st[i]);
end;
end;
end.
网友评论