找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 670|回复: 0

[LISP函数]:Lisp数据表按第一项排序函数。。。

[复制链接]
发表于 2005-5-8 16:44:51 | 显示全部楼层 |阅读模式

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

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

×
;;;将 Lst 表中数据按第一项升序排序,Lst 表中数据按第一项类型要相同
;;;例如 (Sort-List-up '((1 3 5) (3 4 5) (2 3)))
;;;返回 ((1 3 5) (2 3) (3 4 5))
(defun Sort-List-up (Lst)
    (setq m (length Lst)
          n 0
          Lst1 '())
    (repeat m
        (setq Lst1 (cons (car (nth n Lst)) Lst1)
              n (1+ n)
              )
        );repeat
    (setq Lst1 (reverse Lst1))
    (setq Lst1 (vl-sort-i Lst1 '<))
    (setq Lst2 '()
          n 0)
    (repeat m
        (setq Lst2 (cons (nth (nth n Lst1) Lst) Lst2)
              n (1+ n)
              )
        );repeat
    (setq Lst2 (reverse Lst2))
             
       
    );defun Sort-List-up

;;;将 Lst 表中数据按第一项降序排序,Lst 表中数据按第一项类型要相同
;;;例如 (Sort-List-Down '((1 3 5) (3 4 5) (2 3)))
;;;返回 ((3 4 5) (2 3) (1 3 5))
(defun Sort-List-Down (Lst / Lst1 Lst2 m n)
    (setq m (length Lst)
          n 0
          Lst1 '())
    (repeat m
        (setq Lst1 (cons (car (nth n Lst)) Lst1)
              n (1+ n)
              )
        );repeat
    (setq Lst1 (reverse Lst1))
    (setq Lst1 (vl-sort-i Lst1 '>))
    (setq Lst2 '()
          n 0)
    (repeat m
        (setq Lst2 (cons (nth (nth n Lst1) Lst) Lst2)
              n (1+ n)
              )
        );repeat
    (setq Lst2 (reverse Lst2))
             
       
    );defun Sort-List-up
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-5 18:21 , Processed in 0.273159 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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