使用BinarySearch插入点

时间:2014-07-18 16:19:32

标签: delphi delphi-xe6

如何使用二进制搜索找到插入点,以便将项目插入到已排序的数组中?默认TArray.BinarySearch不提供此类功能。

1 个答案:

答案 0 :(得分:5)

TArray.BinarySearch确实提供了所需的功能 - 它为插入找到了正确的索引(FoundIndex):

  

如果BinarySearch找到该元素则返回True,否则返回False   如果找到,FoundIndex包含Item的从零开始的索引   如果未找到,则FoundIndex包含大于的第一个条目的索引   项目

示例:对于(2,4,7)数组和请求值5,它将找到索引2 - 您必须扩展数组,将数组的其余部分从第2个位置移开,然后将5插入第2个位置。