全排列具体说明: 例如abc会有abc,acb,bac,bca,cab,abc六种情况 采用递归的方法: 先看a作为字母表首位时会有bc和cb两种排序 然后b作为字母表首位时会有ac和ca两种排序 最后是c作为字母表首位时会有ab和ba两种排序 这里就用到了swap()进行交换。为了每次确保不重复, 第i个数分别与它后面的数字交换就能得到新的排列,这样可以构建一个递归 具体的代码:
1 |
|
实现:
Blog
全排列具体说明: 例如abc会有abc,acb,bac,bca,cab,abc六种情况 采用递归的方法: 先看a作为字母表首位时会有bc和cb两种排序 然后b作为字母表首位时会有ac和ca两种排序 最后是c作为字母表首位时会有ab和ba两种排序 这里就用到了swap()进行交换。为了每次确保不重复, 第i个数分别与它后面的数字交换就能得到新的排列,这样可以构建一个递归 具体的代码:
1 | #include<iostream> |
实现: