sml в списке параметров функций рекурсивных - PullRequest
0 голосов
/ 02 ноября 2011

список & целое число n.Функция должна добавить n-й элемент списка и вернуть оставшийся список. Например,

insertnth ([5,6,7], 2,9);Вывод: [5,9,6,7]

n - 2.9 - добавление второй строки

1 Ответ

2 голосов
/ 02 ноября 2011

Серьезно, луцловер.Вам нужно прочитать учебник или введение в SML.Например, см. Страницу SML / NJ Literature .

В принципе, у вас есть два способа решения этой проблемы.Если задана функция insertnth(xs, pos, n), то уродливый нефункциональный способ - разделить список в позиции pos, а затем вернуть left @ n :: right, где left и right - это левая и правая часть разделения.Или более функциональный способ, с рекурсивной функцией, которая проходит список xs элемент за элементом, уменьшая переменную pos каждый раз, а затем, когда вы достигаете позиции 1, затем возвращаете n, добавленный к оставшемуся списку,остановить рекурсию.

...