ポイントを原点からの距離に基づいて新しいリスト(0.0)
に昇順に並べ替える手順を作成しようとしています。そこで、まず次のように言い始めました。(define origin (cons 0 0))
次に、原点までの距離の最小値を取る手順を書きました。
(define (min-distance-origin p pt-list)
(if (null? pt-list)
0
(min (distance (get-first-point pt-list) origin)
(min-distance-origin (get-rest-points pt-list) origin)))
それから私が取った次のステップは、実際にソートされたポイントリストの手順を書くことでした.
(define (make-sorted-pt-list p pt-list)
(if (null? pt-list)
0
(min (min-distance-origin p origin) ; need something that can do (cons min ())
(make-sorted-pt-list (car (cdr pt-list)) origin)))) ; recursive call
私が抱えている問題は、最小値からリストを作成し、その値をポイントリストから削除して繰り返すことができるものが必要なことです。