Реализовать вставку в f # элементов в набор, возвращая новый набор с элементами? - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь написать функцию на F #, которая вставляет y в S, где y и S - наборы элементов, в возвращаемом наборе S элементы должны быть вставлены в порядке, используя<, если x существует в S, то S возвращается без изменений.Я надеюсь, что это очень ясно.Я реализовал функцию следующим образом

let rec insert x S =
    match S with
    |[] -> x 
   |e::rest -> e::(insert x rest)

, но она не дает ожидаемого результата.Например, если

S = [2; 3]
x = [3; 4]

, вывод должен быть

[2; 3; 4]

Но я получаю

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