projects
/
debian
/
gnuradio
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
23ddfc9991876aed51c324e6d353fdfda201d6f1
[debian/gnuradio]
/
gnuradio-core
/
src
/
utils
/
permute.scm
1
(require 'common-list-functions)
2
3
4
(define (permute lst)
5
(define (aux set head)
6
(cond ((null? set) head)
7
(else
8
(map (lambda (x)
9
(aux (set-difference set (list x))
10
(cons x head)))
11
set))))
12
(aux lst '()))
13
14
(define (permute-2 lst)
15
(let ((result '()))
16
(define (aux set head)
17
(if (null? set)
18
(set! result (cons head result))
19
(for-each (lambda (x)
20
(aux (set-difference set (list x))
21
(cons x head)))
22
set)))
23
(aux lst '())
24
result))
25
26
27