詳細測定Generics Collections TList(8):Sort
1376 ワード
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Generics.Collections, Generics.Defaults;
procedure TForm1.Button1Click(Sender: TObject);
var
List: TList<Integer>;
i: Integer;
str: string;
begin
List := TList<Integer>.Create();
List.AddRange([22,33,11]);
str := '';
for i in List do str := str + IntToStr(i) + ' ';
ShowMessage(str); {22 33 11 }
{ }
List.Sort;
str := '';
for i in List do str := str + IntToStr(i) + ' ';
ShowMessage(str); {11 22 33 }
{ }
List.Sort(TComparer<Integer>.Construct(
function (const n1,n2: Integer): Integer
begin
Result := n2 - n1;
end));
str := '';
for i in List do str := str + IntToStr(i) + ' ';
ShowMessage(str); {33 22 11 }
List.Free;
end;
end.