明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3835|回复: 11

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

  [复制链接]
发表于 2014-8-1 18:55 | 显示全部楼层 |阅读模式
本帖最后由 xyp1964 于 2014-8-2 07:46 编辑

(vl-sort '(1 2 1) '<)的结果居然不是  ‘(1 1 2) 而是 ’(1 2),如何解决?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-8-1 19:26 | 显示全部楼层
自定义
发表于 2014-8-1 19:27 | 显示全部楼层
本帖最后由 风树 于 2014-8-1 19:31 编辑

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

点评

(xyp-Intsort '(1 3 2 1))  发表于 2014-8-1 21:47
发表于 2014-8-1 19:37 | 显示全部楼层
(vl-sort '(1 2 1) '<=)行吗?

点评

结果 ’(1 2)  发表于 2014-8-1 21:25
 楼主| 发表于 2014-8-1 21:46 | 显示全部楼层
  1. ;; (IntLstSort '(1 3 2 1) '>)
  2. (defun IntLstSort(lst fun)
  3. (mapcar'(lambda(x)(if(and(=(type x)'REAL)(equal x(fix x)))(fix x)x))
  4. (vl-sort(mapcar'(lambda(x)(if(=(type x)'INT)(distof(itoa x))x))lst)fun))
  5. )
发表于 2014-8-1 21:46 | 显示全部楼层
想想 ,需要改变输入数据的特性吗?
 楼主| 发表于 2014-8-1 21:52 | 显示全部楼层
本帖最后由 xyp1964 于 2014-8-1 21:54 编辑
风树 发表于 2014-8-1 21:46
想想 ,需要改变输入数据的特性吗?
  1. ;; (aaa '(1 3 2 1) <)
  2. (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 | 显示全部楼层
xyp1964 发表于 2014-8-1 21:52

出大招
发表于 2014-8-1 23:42 | 显示全部楼层
xyp1964 发表于 2014-8-1 21:52

升一个维度来处理,很巧啊
发表于 2014-8-2 07:58 | 显示全部楼层
这似乎不像院长本人的帖子,这个问题早就讨论过,升维和变实数以前都提高,还有提出使用vl-sort-i来解决的思路。

点评

确是本人,孤陋寡闻了……  发表于 2014-8-2 08:09
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 21:49 , Processed in 0.213175 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表