dcl1214 发表于 2024-5-5 07:20:49

任意数据穷举组合速度很快

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

nzl1116 发表于 2024-5-5 10:21:03

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

gzcsun 发表于 2024-5-5 10:50:01

nzl1116 发表于 2024-5-5 10:21


foreach是精简一点,不过while是比foreach快一点。

mahuan1279 发表于 2024-5-5 10:51:56

一句代码的事。

wuyunpeng888 发表于 2024-5-5 14:51:28

本帖最后由 wuyunpeng888 于 2024-5-5 14:53 编辑

什么叫任意数据穷举组合?随机组合吗?穷举速度最慢没有随机抽取快,用字典或集合做随机抽取,n个数抽取n次

hubeiwdlue 发表于 2024-5-5 15:04:32

gzcsun 发表于 2024-5-5 10:50
foreach是精简一点,不过while是比foreach快一点。

不都是循环吗?次数也一样,速度还有差别?

aws 发表于 2024-5-6 09:37:55

有没有具体的应用场景呢,举个例子
页: [1]
查看完整版本: 任意数据穷举组合速度很快