-1

我想知道这是否会被考虑在尾端而不是头部开始你的比较?

fun maxTail [] = raise Empty 
 | maxTail [x] = x
 | maxTail (x::xs) =
      let 
        val y = maxTail xs
      in
        if x > y then x else y
      end
4

1 回答 1

0

是的,如果这就是你的意思,你所做的类似于正确的弃牌。请注意,右折叠(以及你正在做的事情)不是尾递归的,所以左折叠更可取。

于 2013-09-20T02:02:01.083 回答