gpt4 book ai didi

scheme - 合并排序输出 - 方案

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:04 25 4
gpt4 key购买 nike

我有一个合并排序函数,它接受一个谓词和一个实值列表,然后根据谓词对它们进行排序。例如

(merge-sort > '(1 7 4 6)) 
---> (7 6 4 1)

我的问题给出了关联列表:

(define *Mark*
'( (age . 20)
(gender . male))

(define *Judith*
'( (age . 30)
(gender . female))

(define *Elliot*
'( (age . 40)
(gender . male))

已用于创建无序列表 (Mark Elliot Judith),如何在合并排序中使用他们的年龄

(merge-sort > '(20 40 30)) ---> (40 30 20)

我可以输出有序列表吗

(Elliot Judith Mark)

最佳答案

(merge-sort (lambda (a b)
(define (get-age x)
(cdr (assq 'age x)))
(> (get-age a) (get-age b)))
(list *Mark* *Judith* *Elliot*))

关于scheme - 合并排序输出 - 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com