Сортировать два списка с элементами в порядке возрастания - PullRequest
0 голосов
/ 04 июня 2011

Вопрос требует от меня завершения функции Scheme merge, которая использует два списка отсортированных чисел (в порядке возрастания) и создает список чисел, который состоит из всех двух использованных списков в отсортированном порядке.

Например,

(merge (list 1 4 5 9) (list -1 2 4)) => (list -1 1 2 4 4 5 9)
(merge (list 1 4 5 9) empty) => (list 1 4 5 9)
(merge empty (list 1 4 5 9)) => (list 1 4 5 9)
(merge empty empty) => empty

Спасибо за помощь !!

1 Ответ

3 голосов
/ 04 июня 2011

Так как это пахнет домашней работой, я не буду писать никакого кода, но я скажу вам, что то, что вы делаете, является частью алгоритма сортировки слиянием . Запомните эти две вещи:

  • В функциональных языках, таких как Scheme, вы задаете вопрос какое значение мне нужно получить вместо что мне нужно сделать
  • В Схеме вы часто пишете более одной процедуры для выполнения одной задачи

Если вы запомните эти две вещи и определите, какую часть сортировки слиянием вам нужно реализовать, выяснить это будет довольно просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...