使用Go语言进行排列
package main
import "fmt"
func perm(head []int, rest []int) {
if len(rest) == 0 {
fmt.Println(head)
} else {
for i, v := range rest {
restx := make([]int, len(rest))
copy(restx, rest)
restx = append(restx[:i], restx[i+1:]...)
headx := append(head, v)
perm(headx, restx)
}
}
}
func main() {
perm([]int{}, []int{1, 2, 3, 4})
}