请教一下排序问题
我看了很多排序相关资料,但排列出来的都是按数字或者字母排列,有可能将非常规的顺序排序吗?如 '(A B C D)可以将它排成 '( C D B A)超出规定的至前或后的排序吗?
=>'( C1 C2 D1 D2 B1 A1 E)
顶起来,,我还是想知道 例子再多一些,如果有E、F呢 真心不明白你是要求按照什么来规则排序的... 有规律的东西都可以编程实现,以节约人的时间和劳力。。。但是至少你要有排序的规则,除非你想随机排序 先定义一个排序表,然后根据该表中位置排序就是了。
第一个是未定义项前置,第二个是未定义项后置
示例:(tt1 '("F" "H" "S" "T" "A" "B" "1" "2"))
(defun tt1 (lst / defLst)
(setqdefLst '("N" "M" "L" "K" "J" "I" "H" "G" "F"
"E" "D" "C" "B" "A" "Z" "Y" "X" "W"
"U" "V" "O" "P" "Q" "R" "S" "T"
)
) ;_默认的排序方式,根据你的需要定义
(vl-sort lst
'(LAMBDA (a b)
(< (vl-position a defLst)(vl-position b defLst))
)
)
)
(defun tt1 (lst / defLst)
(setq defLst '("N" "M" "L" "K""J" "I" "H" "G""F"
"E" "D" "C" "B""A" "Z" "Y" "X""W"
"U" "V" "O" "P""Q" "R" "S" "T"
)
) ;_默认的排序方式,根据你的需要定义
(vl-sort lst
'(LAMBDA (a b)
(> (length (member a defLst)) (length (member b defLst)))
)
)
)
高手排序还能这样 hb198075 发表于 2013-1-30 11:03 static/image/common/back.gif
先定义一个排序表,然后根据该表中位置排序就是了。
第一个是未定义项前置,第二个是未定义项后置
示例: ...
实在太厉害!谢谢你的指教!可以自定义序列,就可以批量打印指定先后的图纸
页:
[1]