生成排列
来源:互联网 发布:mac teamviewer官网 编辑:程序博客网 时间:2024/05/13 10:49
第一种算法:
对于1,2,…,n 这n个数,
1.生成数2,3,…n的所有排列,在每个排列前面加上数字1
2.生成数1,3,…n的所有排列,在每个排列前面加上数字2
3.重复以上过程直到生成1,2,…n-1的所有排列,在每个排列前面加上数字n
代码实现:
void perm1(string str,int len,int m){ if (m == len) cout << str << endl; else { for (int i = m; i < len; i++) { char temp = str[m]; str[m] = str[i]; str[i] = temp; perm1(str, len, m + 1); } }}
第二种算法:
void perm2(string str, int len, char* zero, int m){ if (m == len) cout << zero << endl; else { for (int i = 0; i < len; i++) { if (zero[i] == '0') { zero[i] = str[m]; perm2(str, len, zero, m + 1); zero[i] = '0'; } } }}
0 0
- 生成排列
- 生成排列
- 生成排列
- 生成排列
- 生成排列算法
- 排列生成算法
- 递归函数生成排列
- 排列的生成
- 排列生成算法
- 递归函数生成排列
- 全排列生成
- 生成全排列
- 生成全排列
- 生成全排列
- c++ STL 生成排列
- 生成排列和组合
- 全排列生成算法
- 全排列的生成
- Fresco.initializeDrawee()的过程
- UVA 10305 拓扑排序(基础)
- 吴敬琏:中国经济改革为何出现开倒车现象--From凤凰财经20160430
- PipelineDraweeControllerBuilder.obtainController()源码分析
- 如何利用XAMPP本地建站的环境配置教程(详细的图文介绍)
- 生成排列
- SSH——mysql不能插入当前时间
- 1007. 素数对猜想 (20)
- Js中实现网页上导航条的切换功能
- c++ 智能指针用法详解
- ADF中的JS代码的添加
- Fresco之服务器的处理
- js中null和undefined的区别
- 伯南克回忆2008:金融危机如何演变为经济危机?------From凤凰财经20160430