Я новичок в Racket, и я пытаюсь выяснить, как вставить сортировку. Это то, что у меня есть, но я получаю сообщение об ошибке, и я не могу понять это из отладки.Вставка сортировки в Racket, не может понять, почему это не работает
;Definition of insert: inserts a number into an already sorted list based on
;the cmp parameter
;cmp: <or>, L1: a list, n: the number to be inserted
(define (insert cmp L1 n)
(cond
((null? n) (list L1))
((null? L1) (cons n L1))
((cmp n (car L1)) (cons n L1))
(else (cons (car L1) (insert cmp (cdr L1) n)))
)
)
;Definition of insertionSort: sorts a list based on a recursive insertion sort
;L1: a list, cmp: <or>
(define (insertionSort L1 cmp)
(cond
((null? L1) L1)
(else (insert cmp (car L1) (insertionSort(cdr L1) cmp)))
)
)
Случай '(null? n)' в 'insert' не очень полезен, так как' n' является числом. – molbdnilo