23 lines
660 B
Racket
23 lines
660 B
Racket
#lang racket
|
|
|
|
(define (rev lst)
|
|
(if (null? lst);ф-я принимает пустой список
|
|
lst;возвращает пустой список
|
|
(if (= 1 (length lst));ф-я принимает список из 1 элемента
|
|
lst; возвращает список из 1 элемента
|
|
;в списке можно выделить голову и хвост
|
|
(append (rev (cdr lst)); запускаем rev для хвоста (cdr - хвост)
|
|
(list(car lst));возвращаем голову (car - голова)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(writeln(rev(rev '(1 2 3 4))))
|
|
|
|
|
|
|
|
|
|
|
|
|