野狼谷/〈M〉 发表于 2013-1-27 10:35:48

对于复杂数据表排序问题的一点经验

关于排序,这两天的一点成果,一切尽在不言中,看实例;
(setq pts '(("-20.5" "NAME" "13.4" "P" "15.3" "2" "A") ("-30.5" "NAME" "15.3" "G" "14.6" "5" "F" ) ("-12.3""NAME" "5.0" "D" "13.4" "3" "E")))
(setq
   pts (vl-sort pts
                  (function (lambda (e1 e2)

                               (> (ATOF (CAR (CDR (MEMBER "NAME" e1))))
                                  (ATOF (CAR (CDR (MEMBER "NAME" e2))))
                               )
                          )
                  )
       )
)

xiabin68 发表于 2013-1-27 11:30:46

什么用,,,,,

ZZXXQQ 发表于 2013-1-27 11:30:59

对NAME后的元素排序。
如果只是上面提供的表,可以更简单些。
(setq pts
(vl-sort pts
'(lambda (e1 e2) (> (ATOF(CADDR e1)) (ATOF(CADDR e2))))
)
)
;or
(setq pts
(vl-sort pts
'(lambda (e1 e2) (> (ATOF(NTH 2 e1)) (ATOF(NTH 2 e2))))
)
)

野狼谷/〈M〉 发表于 2013-1-27 15:27:27

xiabin68 发表于 2013-1-27 11:30 static/image/common/back.gif
什么用,,,,,

对数据列表按照关键字进行排序,适用于任何类型数据
页: [1]
查看完整版本: 对于复杂数据表排序问题的一点经验