【发布时间】:2016-04-25 16:52:38
【问题描述】:
let shuffley (numbers:int list) =
let rec loop numbers acc =
match numbers with
| head::tail -> loop (List.rev(tail)) (head::acc)
| [] -> List.rev(acc)
loop numbers []
shuffley [1;2;3;4;5;6;7;8]
我正在尝试练习一些 F#,我想知道是否可以作为尾递归的一个很好的例子,或者这只是一些废话。
【问题讨论】:
-
这可能属于codereview.stackexchange.com,希望版主可以把它移到那里:-)
-
也就是说,你的函数是尾递归的——对我来说它是一个很好的例子!
-
如果您打算将其移至 Code Review,请确保代码不是假设的或损坏的,并且您实际上是在寻找审查,而不仅仅是验证完成。跨度>
-
如果可行,它肯定会成为代码审查的主题。
-
虽然它是尾递归的,但我认为它非常适合CR,因为它在运行时复杂性方面不是最佳的(因此不是一个好 例子)。
标签: list recursion f# tail-recursion