xyp1964 发表于 2014-8-1 18:55:09

【e派】vl-sort针对整数表排序时的bug

本帖最后由 xyp1964 于 2014-8-2 07:46 编辑

(vl-sort '(1 2 1) '<)的结果居然不是‘(1 1 2) 而是 ’(1 2),如何解决?

风树 发表于 2014-8-1 19:26:44

自定义

风树 发表于 2014-8-1 19:27:41

本帖最后由 风树 于 2014-8-1 19:31 编辑

(xyp-sort '(1 2 1) '<)

风树 发表于 2014-8-1 19:37:04

(vl-sort '(1 2 1) '<=)行吗?

xyp1964 发表于 2014-8-1 21:46:06

;; (IntLstSort '(1 3 2 1) '>)
(defun IntLstSort(lst fun)
(mapcar'(lambda(x)(if(and(=(type x)'REAL)(equal x(fix x)))(fix x)x))
(vl-sort(mapcar'(lambda(x)(if(=(type x)'INT)(distof(itoa x))x))lst)fun))
)

风树 发表于 2014-8-1 21:46:34

想想 ,需要改变输入数据的特性吗?

xyp1964 发表于 2014-8-1 21:52:43

本帖最后由 xyp1964 于 2014-8-1 21:54 编辑

风树 发表于 2014-8-1 21:46 static/image/common/back.gif
想想 ,需要改变输入数据的特性吗?;; (aaa '(1 3 2 1) <)
(defun aaa(lst fun)(mapcar'car(vl-sort(mapcar'(lambda(x)(list x))lst)'(lambda(x y)(fun(car x)(car y))))))

风树 发表于 2014-8-1 22:07:02

xyp1964 发表于 2014-8-1 21:52 static/image/common/back.gif


出大招

裤裆有异味 发表于 2014-8-1 23:42:08

xyp1964 发表于 2014-8-1 21:52 static/image/common/back.gif


升一个维度来处理,很巧啊

ll_j 发表于 2014-8-2 07:58:19

这似乎不像院长本人的帖子,这个问题早就讨论过,升维和变实数以前都提高,还有提出使用vl-sort-i来解决的思路。
页: [1] 2
查看完整版本: 【e派】vl-sort针对整数表排序时的bug