spring 发表于 2004-10-6 10:14:00

BDYCAD发表于2004-9-30 17:22:00static/image/common/back.gif重復数据列表应该是如下方式所示吧



(       1       1       1       3       5       4 6 )                                       ====>               (1       1       1       )

<BR>(defun c:aa (/ lst ret cur)<BR>       (setq        lst (list 1 2 3 4 3 4 5 2 3 5 1 3 2 1) ;测试表<BR>       )<BR>       (setq ret nil)                        ;建立空白表<BR>       (while (setq cur (car lst))                ;循环测试表<BR>                       (if        (assoc cur ret)<BR>                                       (setq<BR>        ret (subst (append (assoc cur ret) (list cur))<BR>                               (assoc cur ret)<BR>                               ret<BR>                               )<BR>                                       )<BR>                                       (setq ret (cons (list cur) ret))<BR>                       )<BR>                       (setq lst (cdr lst))<BR>       )<BR>       (setq ret (reverse ret))<BR>       (princ)<BR>       ret<BR>)<BR>;;; return:       ((1 1 1) (2 2 2) (3 3 3 3) (4 4) (5 5))
页: 1 [2]
查看完整版本: 重复数据合并的问题