如何在序列生成操作(如排序)后将序列转换回向量?在矢量序列上使用(vec ..)是否代价高昂?
一个(坏?)可能性是不按顺序创建一个新的向量:
(vec (sort [1 2 3 4 5 6]))
Run Code Online (Sandbox Code Playgroud)
我问,因为我需要随机访问(第n ..)到巨大的排序向量 - 现在是排序后的巨大序列,可怕的O(n)随机访问时间
假设我有:
'[[c c c]
[y y y]
[m m m]]
Run Code Online (Sandbox Code Playgroud)
和
'[[r g b]
[r g b]
[r g b]]
Run Code Online (Sandbox Code Playgroud)
我想要:
'[[[c,r] [c,g] [c,b]]
[[y,r] [y,g] [y,b]]
[[m,r] [m,g] [m,b]]]
Run Code Online (Sandbox Code Playgroud)
在clojure中这样做的优雅方法是什么?