嗨,我一直在寻找答案,但找不到。假设我们有一个像这样的列表[1,10,4,5,3]
我怎样才能将 5 向左移动,使这个列表变成[1,10,5,4,3]
.
我尝试过了swapElementsAt
通过找到该元素的索引,但它看起来非常不足。
swapElementsAt :: Int -> [a] -> [a]
swapElementsAt n list = let (beg, a:b:rest) = splitAt (n-1) list in beg ++ b:a:rest
它的工作原理就像
λ> swapElementsAt 3 [1,10,4,5,3]
[1,10,5,4,3]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)