Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala合并排序_Scala_Mergesort - Fatal编程技术网

Scala合并排序

Scala合并排序,scala,mergesort,Scala,Mergesort,我是Scala新手,必须实现MergeSort 给定的原型如下所示:def mergeSortsplit:List[Int]=>List[Int],List[Int],as:List[Int]:List[Int] 我不要求您为我实现MergeSort,我已经知道如何实现它。我的问题是方法定义不允许更改 我不知道如何处理split:List[Int]=>List[Int],List[Int],as:List[Int] 这显然意味着它将一个给定的列表一分为二,但是如何访问这两个结果列表呢 如果我试着

我是Scala新手,必须实现MergeSort

给定的原型如下所示:def mergeSortsplit:List[Int]=>List[Int],List[Int],as:List[Int]:List[Int]

我不要求您为我实现MergeSort,我已经知道如何实现它。我的问题是方法定义不允许更改

我不知道如何处理split:List[Int]=>List[Int],List[Int],as:List[Int] 这显然意味着它将一个给定的列表一分为二,但是如何访问这两个结果列表呢

如果我试着这样做: 如果List.length<2 List,我会得到错误:error:value length不是对象列表的成员

然而,我已经看到了MergeSort的例子,它们正是这样做的。

提示:

如果as.length<2{…} val lefts,rights=splitas 提示:

如果as.length<2{…} val lefts,rights=splitas
这是否意味着,如果我想访问整个列表,我只需要将其称为?这里有两个参数:split函数split和整个列表作为方法头中的split:它做什么?是有两个列表参数组合成一个还是有一个列表参数拆分成两个?那么这表示一个函数?split:List[Int]=>List[Int],List[Int]这表示一个函数,它接受一个列表并返回一个由两个列表组成的元组。这意味着,如果我想访问整个列表,我只需将其称为?这里有两个参数:split函数split和方法头中拆分的整个列表:它做什么?是有两个列表参数组合成一个还是有一个列表参数拆分成两个?那么这表示一个函数?split:List[Int]=>List[Int],List[Int]这表示一个函数,它接受一个列表并返回一个由两个列表组成的元组