n个整数全排列的递归实现(C++)
2014-10-27 09:58
169 查看
全排列是非常常用的一个小算法,下面是n个整数全排列的递归实现,使用的是C++
#include <iostream> using namespace std; int n = 0; void swap(char *a ,char *b) { int m ; m = *a; *a = *b; *b = m; } void perm(char list[],int k, int m ) { int i; if(k >m) { for(i = 0 ; i <= m ; i++) { cout<<list[i]; } cout<<endl; } else { for(i = k ; i <=m;i++) { swap(&list[k],&list[i]); perm(list,k+1,m); swap(&list[k],&list[i]); } } } int main() { char list[] ="12345"; perm(list,0,4); return 0; }
相关文章推荐
- Ackerman函数的递归、全排列的递归实现、整数划分的递归、二分搜索的递归、合并排序的递归、.快速排序
- n个整数全排列的递归实现(C++)
- 非递归实现不重复序列的全排列(三)
- 非递归实现不重复序列的全排列(三)
- 递归实现全排列
- 递归实现全排列
- 整数因子分解:计算一个整数所有的分解式(递归实现)
- 欧几里得求两个整数最大公约数算法的汇编递归实现代码
- 全排列的递归实现方法
- 算法——全排列递归实现
- 简单全排列C递归实现 没考虑重复情况
- 8.n个字符的全排列(递归实现)
- C语言:用递归实现将输入的整数按逆序输出。如输入12345,则输出54321。
- 用递归实现全排列
- 整数乘法---FFT 的递归实现
- C#:通过递归和非递归算法实现按顺序输出的全排列
- 非递归实现不重复序列的全排列(一)
- 非递归实现不重复序列的全排列(二)
- 全排列递归实现的讨论
- 全排列各种实现(非递归、递归)