gpt4 book ai didi

sorting - 为什么这个排序算法会做它应该做的事情? [口齿不清]

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

我正在复习旧考试,为自己的考试做准备,教授很友善,也为我们提供了解决方案,现在我想知道为什么一个函数会做它应该做的事情。

(defun sortulists (L)
(mapcar (lambda (uliste)
(sort uliste (lambda (x1 x2)
(or (symbolp x2)
(and (numberp x1) (numberp x2)
(< x1 x2))))))
L))

它应该采用一个列表L,其中包含未排序的子列表,其中可能包含数字和原子,首先对它的数字进行排序,然后将符号放在最后。

当像这样调用时 (sortulists '((A 9 b h 2) (1 m n 9 8) (5 a 7))) 它返回 ((2 9 H B A) (1 8 9 N M) (5 7 A))

有什么帮助吗?

编辑:固定缩进

最佳答案

sort 的谓词函数说明一旦序列被排序,什么测试必须为真。未定义如何进行排序。

如果您对此处使用的 andor 感到困惑,我建议您阅读 Common Lisp: A Gentle Introduction to Symbolic Computation条件一章。 .它展示了如何交换 cond、嵌套的 if 以及 andor 的组合,并提供练习(以及他们的解决方案)。

简而言之,要么右边必须有一个符号,要么,如果都是数字,则必须按大小排序。

关于sorting - 为什么这个排序算法会做它应该做的事情? [口齿不清],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970779/

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