Je suis nouveau à Racket, et j'essaie de comprendre tri d'insertion. C'est ce que j'ai, mais je reçois une erreur, et je n'arrive pas à la comprendre à partir du débogage.Sort d'insertion dans la raquette, ne peut pas comprendre pourquoi cela ne fonctionne pas
;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)))
)
)
Le cas '(null? n)' dans 'insert' n'est pas très utile puisque' n' est un nombre. – molbdnilo