相关疑难解决方法(0)

如何在Delphi中使用稳定排序替换StringList.Sort?

我正在做一个简单的StringList.sort,但是Delphi使用的QuickTort不是一个稳定的排序,这意味着它可能会改变具有相同键的记录的相对顺序.

我需要使用稳定的排序.对我来说,实现这个最简单的方法是什么?


Mike W的答案可能是最简单的方法,无需进行太多的代码更改.

谢谢,迈克.

delphi sorting tstringlist stable-sort

3
推荐指数
1
解决办法
859
查看次数

对于快速稳定的指针数组,哪种算法是正确的?

我有以下数据结构,我想快速(明显)和稳定地对其进行排序。您认为哪种算法合适?

type
  PSuperListItem = ^TSuperListItem;
  TSuperListItem = record
    SubItems  : array of String;
    Marked    : Boolean;
    ImageList : Byte;
    ImageIndex: Integer;
    Data      : Pointer;
  end;

  TSuperListItems = array of PSuperListItem;

var
  Items: TSuperListItems; 
Run Code Online (Sandbox Code Playgroud)

我在这里发现只有插入、冒泡和合并排序算法是稳定的。我知道合并排序用于对链表进行排序。对于其他两种算法我一无所知,但我有一种奇怪的感觉,它们速度较慢。所以我不知道该使用哪种算法。

delphi sorting algorithm

1
推荐指数
1
解决办法
1009
查看次数

标签 统计

delphi ×2

sorting ×2

algorithm ×1

stable-sort ×1

tstringlist ×1