Scala MergeSort - PullRequest
       4

Scala MergeSort

1 голос
/ 23 марта 2020

Я новичок в 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 Я получу ошибку: ошибка: значение длины не является членом объекта List

Однако я видел примеры MergeSort делает именно это.

1 Ответ

4 голосов
/ 23 марта 2020

Подсказки:

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