集合的全排列问题算法思想
记录集合的全排列问题的算法思想。
默认的前置条件是输入数组的每个元素各不相同。
当要求1个元素的全排列是,全排列数目为1,排列为他自身
当要求2个元素的全排列时,比如说1,2和2,1
当要求3个元素的全排列时,123,132,231,213,312,321
可以看出规律3个元素的全排列等于先将3个元素中任意提出去一个元素放在第一个元素的位置,然后剩下的两个元素全排列。
算法的核心实现就是在循环下
首先将要提出的可变元素与数组第一个元素交换位置。
接着递归调用自身
然后就是将数组元素还原以期待下一次递归