2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,42 +1,42 @@
|
|||
next.perm <- function(p) {
|
||||
n <- length(p)
|
||||
i <- n - 1
|
||||
r = TRUE
|
||||
for(i in (n-1):1) {
|
||||
if(p[i] < p[i+1]) {
|
||||
r = FALSE
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
j <- i + 1
|
||||
k <- n
|
||||
while(j < k) {
|
||||
x <- p[j]
|
||||
p[j] <- p[k]
|
||||
p[k] <- x
|
||||
j <- j + 1
|
||||
k <- k - 1
|
||||
}
|
||||
|
||||
if(r) return(NULL)
|
||||
|
||||
j <- n
|
||||
while(p[j] > p[i]) j <- j - 1
|
||||
j <- j + 1
|
||||
|
||||
x <- p[i]
|
||||
p[i] <- p[j]
|
||||
p[j] <- x
|
||||
return(p)
|
||||
n <- length(p)
|
||||
i <- n - 1
|
||||
r = T
|
||||
for (i in seq(n - 1, 1)) {
|
||||
if (p[i] < p[i + 1]) {
|
||||
r = F
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
j <- i + 1
|
||||
k <- n
|
||||
while (j < k) {
|
||||
x <- p[j]
|
||||
p[j] <- p[k]
|
||||
p[k] <- x
|
||||
j <- j + 1
|
||||
k <- k - 1
|
||||
}
|
||||
|
||||
if(r) return(NULL)
|
||||
|
||||
j <- n
|
||||
while (p[j] > p[i]) j <- j - 1
|
||||
j <- j + 1
|
||||
|
||||
x <- p[i]
|
||||
p[i] <- p[j]
|
||||
p[j] <- x
|
||||
return(p)
|
||||
}
|
||||
|
||||
print.perms <- function(n) {
|
||||
p <- 1:n
|
||||
while(!is.null(p)) {
|
||||
cat(p,"\n")
|
||||
p <- next.perm(p)
|
||||
}
|
||||
p <- 1:n
|
||||
while (!is.null(p)) {
|
||||
cat(p, "\n")
|
||||
p <- next.perm(p)
|
||||
}
|
||||
}
|
||||
|
||||
print.perms(3)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue