gpt4 book ai didi

arrays - 对快速数组进行排序并跟踪原始索引

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:08 24 4
gpt4 key购买 nike

我想对一个 swift 数组进行排序并跟踪原始索引。例如:arrayToSort = [1.2, 5.5, 0.7, 1.3]

索引位置 = [0, 1, 2, 3]

排序数组 = [5.5, 1.3, 1.2, 0.7]

索引位置 = [1, 3, 0, 2]

有没有简单的方法来做到这一点?

最佳答案

最简单的方法是枚举。 Enumerate 为数组中的每个元素按它们出现的顺序提供一个索引,然后您可以分别处理它们。

let sorted = arrayToSort.enumerate().sort({$0.element > $1.element})

这导致 [(.0 1, .1 5.5), (.0 3, .1 1.3), (.0 0, .1 1.2), (.0 2, .1 0.7)]

要对索引进行排序:

let justIndices = sorted.map{$0.index}   // [1, 3, 0, 2]

关于arrays - 对快速数组进行排序并跟踪原始索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39458282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com