Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
3
Task/Permutations/Sidef/permutations-1.sidef
Normal file
3
Task/Permutations/Sidef/permutations-1.sidef
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[0,1,2].permutations { |p|
|
||||
say p
|
||||
}
|
||||
21
Task/Permutations/Sidef/permutations-2.sidef
Normal file
21
Task/Permutations/Sidef/permutations-2.sidef
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
func forperm(callback, n) {
|
||||
var idx = @^n
|
||||
|
||||
loop {
|
||||
callback([idx...])
|
||||
|
||||
var p = n-1
|
||||
while (idx[p-1] > idx[p]) {--p}
|
||||
p == 0 && return()
|
||||
|
||||
var d = p
|
||||
idx += idx.splice(p).reverse
|
||||
|
||||
while (idx[p-1] > idx[d]) {++d}
|
||||
idx.swap(p-1, d)
|
||||
}
|
||||
|
||||
return()
|
||||
}
|
||||
|
||||
forperm({|p| say p }, 3)
|
||||
11
Task/Permutations/Sidef/permutations-3.sidef
Normal file
11
Task/Permutations/Sidef/permutations-3.sidef
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
func permutations(callback, set, perm=[]) {
|
||||
set.is_empty && callback(perm)
|
||||
for i in ^set {
|
||||
__FUNC__(callback, [
|
||||
set[(0 ..^ i)..., (i+1 ..^ set.len)...]
|
||||
], [perm..., set[i]])
|
||||
}
|
||||
return()
|
||||
}
|
||||
|
||||
permutations({|p| say p }, [0,1,2])
|
||||
Loading…
Add table
Add a link
Reference in a new issue