排序数组的最佳方法

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

TExample=记录
排序器:整数;
一些东西:字符串;
终止
var-SomeVar:TExample的数组;

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

但是,如果您使用的是下一个版本D2009,那么有一个新的集合库可以对数组进行排序。它需要一个可选的IComparer<TExample&gt自定义排序顺序的实现。以下是针对您的具体案例所采取的行动:

TArray.Sort<TExample>(SomeVar,TDelegatedComparer<TExample>.Construct(
函数(常量左、右:TExample):整数
开始
结果:=t比较程序<整数>.Default.Compare(Left.SortOrder,Right.SortOrder);
(完),;

发表评论