如何使用二进制搜索找到插入点,以便将项目插入到已排序的数组中?默认TArray.BinarySearch
不提供此类功能。
答案 0 :(得分:5)
TArray.BinarySearch确实提供了所需的功能 - 它为插入找到了正确的索引(FoundIndex
):
如果BinarySearch找到该元素则返回True,否则返回False 如果找到,FoundIndex包含Item的从零开始的索引 如果未找到,则FoundIndex包含大于的第一个条目的索引 项目
示例:对于(2,4,7)数组和请求值5,它将找到索引2 - 您必须扩展数组,将数组的其余部分从第2个位置移开,然后将5插入第2个位置。