任意数据穷举组合速度很快
(DEFUN $qiong-ju$ (lst / a b lst2 lst-new);调用示例($qiong-ju$ '("A" "B" "C" "D" "E" "F"))
(setq lst (vl-remove nil lst))
(WHILE (SETQ A (CAR LST))
(SETQ LST2 (CDR LST))
(WHILE (SETQ B (CAR LST2))
(SETQ LST-NEW (CONS (CONS A B) LST-NEW))
(SETQ LST2 (CDR LST2))
)
(SETQ LST (CDR LST))
)
(SETQ LST-NEW (REVERSE LST-NEW))
)
(defun $qiong-ju$ (lst / a lst2 rLst)
(setq rLst nil)
(while (setq lst2 (cdr lst))
(setq a (car Lst))
(foreach b lst2
(setq rLst (cons (cons a b) rLst))
)
(setq lst (cdr lst))
)
(reverse rLst)
) nzl1116 发表于 2024-5-5 10:21
foreach是精简一点,不过while是比foreach快一点。 一句代码的事。 本帖最后由 wuyunpeng888 于 2024-5-5 14:53 编辑
什么叫任意数据穷举组合?随机组合吗?穷举速度最慢没有随机抽取快,用字典或集合做随机抽取,n个数抽取n次 gzcsun 发表于 2024-5-5 10:50
foreach是精简一点,不过while是比foreach快一点。
不都是循环吗?次数也一样,速度还有差别? 有没有具体的应用场景呢,举个例子
页:
[1]