我有一个问题。
例如:
我们有一个未排序的列表:
(1 4 5 3 6 7)
你能帮我制作 2个列表吗?
一个奇数,增加列表:
(1 3 5 7)
和其他偶数,递减列表:
(6 4)
不要使用sort!
答案 0 :(得分:1)
(define (split filter lst)
(let loop ((a '()) (b '()) (lst lst))
(if (null? lst)
(values a b)
(let ((cur (car lst)))
(if (filter cur)
(loop (cons cur a) b (cdr lst))
(loop a (cons cur b) (cdr lst)))))))
(split odd? '(1 2 3 4 5 6 7 8 9 10))
; ==> (9 7 5 3 1), (10 8 6 4 2)
现在,制作一个将赔率与平均值和特定顺序区分开来的方法很简单。