type
Ttest=record
data : Integer;
index : Integer;
end;
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
fArray : array[0..5] of Ttest;
i,j : integer;
t : Ttest ;
begin
Randomize;
//初始化一个数组
for i:= 0 to 5 do
begin
fArray[i].data := Random(100);
fArray[i].index := i;
Memo1.Lines.Add(Format('数据:%d;序号:%d',[fArray[i].data,fArray[i].index]));
end;
//排序
for I := High(fArray) downto Low(fArray) do
for J := Low(fArray) to High(fArray) - 1 do
if fArray[J].data > fArray[J + 1].data then
begin
T := fArray[J];
fArray[J] := fArray[J + 1];
fArray[J + 1] := T;
end;
//显示结果
for i:= 0 to 5 do
Memo2.Lines.Add(Format('数据:%d;序号:%d',[fArray[i].data,fArray[i].index]))