Глубокий переворот списка

Измените свою процедуру reverse из упражнения 2.18 так, чтобы получилась процедура deep-reverse , которая принимает список в качестве аргумента и возвращает в качестве значения список, где порядок элементов обратный и подсписки также обращены. Например:

(define x (list (list 1 2) (list 3 4)))

x
((1 2) (3 4))

(reverse x)
((3 4) (1 2))

(deep-reverse x)
((4 3) (2 1))

    # Alikhan Askarov
    3 года назад

    не так сложно как кажется

    # Leenday
    10 месяцев назад

    Решение не со всеми случаями списков работает корректно. Например: (define a (list (list 1 (list 1 2)) (list 3 (list 3 4)) (list 5 6)))

    Вернет: 1 ]=> (deep-reverse a) ;Value 16: ((6 5) ((3 4) 3) ((1 2) 1))

Необходима авторизация

Вы должны авторизоваться для создания комментария.

Вход