第十二章 三论符合函数
最后更新于:2022-04-02 04:14:25
[TOC]
## 概述
为了指导函数分工,对于问题描述中的每一种依赖关系,定义一个辅助函数。
主函数是一个简短的定义,而计算由一般化的辅助函数完成
## 对 cons 的数排序
```
(sort (cons 1297.04(cons 20000.00(cons -505 25 empty)))
预期
(cons 20000.00(cons1297.04(cons -505.25 empty)))
```
解答
```
;;sort list-of-numbers ->list-of-numbers (sorted)
;;使用表alon的所有元素,创建有序表
(define (sort1 alon)
(cond
[(empty? alon) empty]
[(cons? alon) (insert (first alon) (sort1 (rest alon)))]))
;i insert number list-of-numbers (sorted)->list-of-numbers (sorted)
;;使用n和表alon中的元素,创建降序排列的表;
;;alon是有序表
(define (insert n alon)
(cond
[(empty? alon) (cons n empty)]
[(>= n (first alon)) (cons n alon)]
[(< n (first alon)) (cons (first alon) (insert n (rest alon)))]))
;;测试
(define test1
(cons 6
(cons 7
(cons 3 empty))))
(sort1 test1) ; (list 7 6 3)
```
';