Я работаю над воссозданием некоторых базовых функций ракет для проекта.
Для этого мне нужно определить функцию, которая принимает аргумент сравнения и список, и проверяет, является ли списокотсортировано на основе этого аргумента.Я, очевидно, не могу просто использовать «отсортировано?».Вот что у меня есть:
(define (my-sorted? lst)
(λ (x)
(cond ((null? lst) #t)
((eq? (length lst) 1) #t)
((x (car (cdr lst)) (car lst))
(my-sorted? (cdr lst)))
(else #f))))
Не думаю, что правильно применяю функцию сравнения, какая-нибудь помощь?Стандартный вывод для этого должен выглядеть примерно так:
(my-sorted? < '(2 5 6 9))
#t
Пока я в этом, у меня проблемы с немного другой функцией.Этот решает, является ли переданный в сравнении элемент списка, вроде как.Вот что я получил:
(define (is-member? lst x)
(cond
[(empty? list) false]
[(= (car list) x) true] ;here is the error i think
[else (is-member? (rest list) x)]))
Любая помощь или руководство по их исправлению приветствуются, я не могу избавиться от ошибок.