我有一個合併排序函數,它接受一個謂詞和一個真實值列表,然後根據謂詞對它們進行排序。例如合併排序輸出 - 方案
(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))
已被用於創建一個無序列表(馬克·埃利奧特朱迪思),如何使用他們的年齡在合併排序
(merge-sort > '(20 40 30)) ---> (40 30 20)
我可以輸出的有序列表
(Elliot Judith Mark)
@chris的回答是正確的。如果你想獲得真實的名字。您必須將其添加到關聯列表中。並且做一些像'map get-name(merge-sort ...)' – Rptx 2014-11-06 12:43:15