Я попытался изменить список в схеме, используя самую основную концепцию, которую я имел о cons, cdr, car. Здесь l-orig
- это список, подлежащий обращению, и l-count
действует как счетчик.Scheme lisp cons и список
Мой код здесь идет:
(define (rev l-orig l-count)
(
if (null? l-count)
(cons l-orig '())
(rev (cons (cdr l-orig) (car l-orig)) (cdr l-count))
)
)
(display (rev '(1 2 3 4 5) '(1 1 1 1 1)))
И выход (((2 3 4 5) . 1))
Честно говоря, я новичок в лепет, и мне нужна простая помощь здесь. Если я намереваюсь использовать этот метод, может ли кто-нибудь предложить мне правильный способ сделать это?
связанные ?: https://stackoverflow.com/questions/19529829/how-to-recursively-reverse- a-list-using-only-basic-operations/19536834 # 19536834 –