daj*_*daj 2 sorting haskell vector
假设我有两个向量:
let x = V.fromList ["foo", "bar", "baz"]
let y = V.fromList [1,3,2]
Run Code Online (Sandbox Code Playgroud)
我想定义一个向量y'这是排序的版本y,但我也想定义的重新排序x'是基于的排序顺序进行排序y(x'应该是这样["foo", "baz", "bar"]).
这样做的最佳功能是什么?理想情况下,我想避免从头开始编写排序函数.
我想你在找 backpermute
Run Code Online (Sandbox Code Playgroud)backpermute :: Vector a -> Vector Int -> Vector aO(n)产生通过用
i索引向量替换每个元素而获得的向量xs!i.这相当于map (xs!)但通常效率更高.