(define (merge-sorted lst1 lst2)
(cond ((null? lst1) lst2)
((null? lst2) lst1)
((>= (car lst1) (car lst2))
(cons (car lst2) (merge-sorted lst1 (cdr lst2))))
(else
(cons (car lst1) (merge-sorted (cdr lst1) lst2)))))
Output:
(merge-sorted '(1 3 4) '(2 4 5))
=> '(1 2 3 4 4 5)
Schemeのリストに関数を書く必要があります。 複製を修正するにはどうすればよいですか? (car lst1)
が(car lst2)
に等しいときにはいつでもScheme関数から重複を削除する
マージプロシージャは重複を保存する必要があることに注意してください。あなたが本当にそれらを削除する必要がある場合は、それはマージソートのためのヘルパープロシージャとしてこれを使用している場合は、最初よりも少ない要素で終わることは間違っています。 –