gpt4 book ai didi

delphi - 对数组进行排序的最佳方法

转载 作者:行者123 更新时间:2023-12-03 14:33:02 25 4
gpt4 key购买 nike

假设我有一组记录,我想根据记录中的一个字段对其进行排序。实现这一目标的最佳方法是什么?

TExample = record
SortOrder : integer;
SomethingElse : string;
end;

var SomeVar : array of TExample;

最佳答案

您可以将指向数组元素的指针添加到 TList ,然后调用TList.Sort使用比较函数,最后创建一个新数组并按所需顺序将值从 TList 中复制出来。

但是,如果您使用下一个版本 D2009,则有一个新的集合库可以对数组进行排序。它需要一个可选的 IComparer<TExample>自定义排序顺序的实现。这是针对您的具体情况的操作:

TArray.Sort<TExample>(SomeVar , TDelegatedComparer<TExample>.Construct(
function(const Left, Right: TExample): Integer
begin
Result := TComparer<Integer>.Default.Compare(Left.SortOrder, Right.SortOrder);
end));

关于delphi - 对数组进行排序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com