不是多维数组,就是结构的排序。 PMyInfo=^TMyInfo; TMyInfo=record No:integer; v1:real; vAll:real; end; var lst:TList;function CompareNames(Item1, Item2: Pointer): Integer; begin Result :=Trunc(PMyInfo(Item1)^.vAll-PMyInfo(Item2)^.vAll); end;procedure TForm1.Button1Click(Sender: TObject); var i:integer; p:PMyInfo; begin lst:=TList.Create; for i:=0 to 9 do begin new(p); p^.vAll:=Random(900); p^.No:=i+1; lst.Add(p); end; lst.Sort(@CompareNames); for i:=0 to lst.Count-1 do memo1.Lines.Add(IntToStr(PMyInfo(lst.Items[i])^.No)+',value='+Format('%.2f',[PMyInfo(lst.Items[i])^.vAll])); lst.Free; end;
PMyInfo=^TMyInfo;
TMyInfo=record
No:integer;
v1:real;
vAll:real;
end;
var
lst:TList;function CompareNames(Item1, Item2: Pointer): Integer;
begin
Result :=Trunc(PMyInfo(Item1)^.vAll-PMyInfo(Item2)^.vAll);
end;procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
p:PMyInfo;
begin
lst:=TList.Create; for i:=0 to 9 do
begin
new(p);
p^.vAll:=Random(900);
p^.No:=i+1;
lst.Add(p);
end; lst.Sort(@CompareNames);
for i:=0 to lst.Count-1 do
memo1.Lines.Add(IntToStr(PMyInfo(lst.Items[i])^.No)+',value='+Format('%.2f',[PMyInfo(lst.Items[i])^.vAll])); lst.Free;
end;