( 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]