找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 424|回复: 11

[求助] 表数字元素,怎么按大小排序重建表

[复制链接]

已领礼包: 160个

财富等级: 日进斗金

发表于 2017-9-11 13:53:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
表数字元素,怎么按大小排序重建表?
(1  3  2  8  5  7  6  4)======》(1 2 3 4 5 6 7 8)
((1  1.20) (3  1.65)(5  1.85)(2  2.55) (4  3.00))====((1  1.20) (2  2.55)(3  1.65)(4  3.00) (5  1.85))



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 6530个

财富等级: 富甲天下

发表于 2017-9-11 14:37:28 | 显示全部楼层
vl-sort.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2017-9-11 14:39:51 | 显示全部楼层
_$ (vl-sort '(1 3 2 8 7 6 4) '(lambda (a b) (if (listp a) (< (car a) (car b)) (< a b))))
(1 2 3 4 6 7 8)
_$ (vl-sort '((1  1.20)(3  1.65)(5  1.85)(2  2.55)(4  3.00)) '(lambda (a b) (if (listp a) (< (car a) (car b)) (< a b))))
((1 1.2) (2 2.55) (3 1.65) (4 3.0) (5 1.85))
_$

评分

参与人数 2D豆 +10 收起 理由
sh_h + 5 技术引导讨论和指点奖!
/db_自贡黄明儒_ + 5 很牛的哈

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8727个

财富等级: 富甲天下

发表于 2017-9-11 16:31:20 | 显示全部楼层
谢谢分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8727个

财富等级: 富甲天下

发表于 2017-9-11 16:32:54 | 显示全部楼层
谢谢分享学习!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 496个

财富等级: 日进斗金

发表于 2017-9-12 08:01:01 | 显示全部楼层
如果不是嵌套的表就直接:(vl-sort '(1  3  2  8  5  7  6  4) '<)

命令: (vl-sort '(1  3  2  8  5  7  6  4) '<)
(1 2 3 4 5 6 7 8)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 769个

财富等级: 财运亨通

发表于 2017-9-12 09:08:24 | 显示全部楼层

学习了,谢谢!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-12 09:16:35 | 显示全部楼层

  1. (vl-sort '((1 1.20) (3 1.65) (5 1.85) (2 2.55) (4 3.00))
  2.          '(lambda (a b)
  3.             (if        (listp a)
  4.               (< (car a) (car b))
  5.               (< a b)
  6.             )
  7.           )
  8. )



这个是最全面的,关联表和原子表都能用

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-9-12 09:20:05 | 显示全部楼层
本帖最后由 newer 于 2017-9-12 09:25 编辑

开源函数库有个 XD::List:Sort , 可以控制按大于还是小于排序
http://bbs.xdcad.net/forum.php?m ... xd%3A%3Alist%3Asort

  1. ;|
  2. 功能:根据操作符排序表或关联表
  3. 参数:lst --- 可排序原子组成的表或者关联表(可排序的值组成关键字)
  4.       oper --- 操作符 '< or '>
  5. 返回值:表
  6. 例子:
  7. 命令: !a
  8. ((33789.5 <图元名: -16a990>) (18200.0 <图元名: -16a998>) (26020.6 <图元名: -16a9a0>)
  9. (33789.5 <图元名: -16a9a8>))
  10. 命令: (xd::list:sort a '<)
  11. ((18200.0 <图元名: -16a998>) (26020.6 <图元名: -16a9a0>) (33789.5 <图元名: -16a990>)
  12. (33789.5 <图元名: -16a9a8>))
  13. 命令: (xd::list:sort '(12 456 3445 23) '<)
  14. (12 23 456 3445)
  15. |;
  16. (defun XD::List:Sort (lst oper / x1 x2)
  17.   (vl-sort lst '(lambda (x1 x2)
  18.                   (if (and
  19.                         (atom x1)
  20.                         (atom x2)
  21.                       )
  22.                     (apply oper (list x1 x2))
  23.                     (apply oper (list (car x1) (car x2)))
  24.                   )
  25.                 )
  26.   )
  27. )



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 160个

财富等级: 日进斗金

 楼主| 发表于 2017-9-12 09:40:13 | 显示全部楼层

感谢您的热心帮助!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 11:20 , Processed in 0.185809 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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