Scala 归并排序

Scala MergeSort

我是 Scala 的新手,必须实现 MergeSort。

给定的原型如下所示:def mergeSort(split : List[Int] => (List[Int], List[Int]), as: List[Int]): List[Int]

我不要求你为我实现 MergeSort,我已经知道该怎么做。我的问题是我不允许更改的方法定义。

不知如何应对split : List[Int] => (List[Int], List[Int]), as: List[Int]) 这显然意味着它将给定的列表分成两部分,但我如何访问这两个结果列表?

如果我尝试这样的事情: if (List.length < 2) List 我收到错误:错误:值长度不是对象列表的成员

但是,我看到了 MergeSort 的例子。

提示:

  • if (as.length < 2) { ... }
  • val (lefts, rights) = split(as)