Я использую Студент среднего уровня с Lambda в DrRacket, мне было интересно, как можно удалить дубликаты в list, сохраняя при этом порядок. Например, (remove-dup (list 2 5 4 5 1 2))
создаст (list 2 5 4 1)
. Пока у меня есть это:
(define (remove-duplicates lst)
(cond
[(empty? lst) empty]
[(member? (first lst) (rest lst))
(remove-duplicates (rest lst))]
[else (cons (first lst) (remove-duplicates (rest lst)))]))
, но есть проблема, так как он не соблюдает порядок. Может ли кто-нибудь указать мне правильное направление? Спасибо за ваше время.