0
Schemeにクラスの関数を書く必要があります。この関数はリストの最小値と最大値を見つけ出します。組み込みのmin関数とmax関数は使用できません。最大値と最小値を見つけるコードセグメントが見つかりましたが、私にとっては、リストの先頭として最小値を出力します。ここでは、コードは次のようになります。Schemeでmin/max関数を実装する
(define (minmax lst)
(cond
((null? lst) '())
((null? (cdr lst)) (list (car lst) (car lst)))
(else
(let ((mmtemp (minmax (cdr lst))) (first (car lst)))
(cond
((> first (car mmtemp)) (cons first (cdr mmtemp)))
((< first (car mmtemp)) (list (car mmtemp) first))
(else mmtemp))))))
私が入力した場合:
(minmax '(3 4 6 9 22 203 1 43 8 4))
私が手:
(203 3)
私が実際に必要がある場合:
(1 203)
私は経験がありませんスキームと講義スライドは役に立たない。出力順序を反転して正しい最小値を得るためには、何を変更する必要がありますか?