在 Delphi / Pascal 中,我想按字母顺序对 TStringList 进行排序。但是为了这个目的,我只能使用以下两种方法:
移动:将字符串从一个索引位置移动到另一个索引位置,并根据需要移动其他字符串。
交换:交换列表中的两个字符串,由它们的索引位置标识。
我怎么能这样做?我的想法是用一个循环遍历所有项目,然后是这样的:
- lastFirstLetter := Copy(CurrentItem, 1, 1)
- 转到下一项
- currentFirstLetter := Copy(CurrentItem, 1, 1)
- 如果 ord(currentFirstLetter) < ord(lastFirstLetter) then exchange(lastItem, currentItem)
使用这两种方法对 StringList 进行排序的最快方法是什么?顺便说一下,我不能使用 sort 方法和 sorted 属性。