🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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) ```