枚举排列各种思路代码
2013-05-04 15:57
253 查看
1.生成1-n的排列 递归法
#include<stdio.h> int A[100]; // 输出1~n的全排列 void print_permutation(int n, int* A, int cur) { int i, j; if(cur == n) { // 递归边界 for(i = 0; i < n; i++) printf("%d", A[i]); printf("\n"); } else for(i = 1; i <= n; i++) { // 尝试在A[cur]中填各种整数i int ok = 1; for(j = 0; j < cur; j++) if(A[j] == i) ok = 0; // 如果i已经在A[0]~A[cur-1]出现过,则不能再选 if(ok) { A[cur] = i; print_permutation(n, A, cur+1); // 递归调用 } } } //有点小疑问是对于这一个大数组A每次更新时把以前的数覆盖然后一直输出!! int main() { print_permutation(6, A, 0); return 0; }
相关文章推荐
- 枚举数组中所有可能排列的代码实现 [2004年7月8日 1:5
- 枚举数组中所有可能排列的代码实现 [2004年7月8日 1:57 ]
- 洛谷1212手动枚举各种情况(缩代码成瘾)
- 一行代码解决各种IE兼容问
- Dialog 各种类型示例代码
- 枚举窗口代码
- 过一遍经典算法题,写写代码顺便整理思路
- 用母函数的思路解释母函数的代码
- 代码分析一:泛型与接口,枚举
- 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- 各种数据库连接代码
- asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码
- 字符串到枚举的转换代码
- jquery ui各种验证代码【转】
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- APIO-抢掠计划解题思路与参考代码
- 单词翻转(4种思路,C/C++代码)
- 233矩阵(上三角矩阵求累加量//代码和思路不一样
- 【css】谈谈 css 的各种居中——读编写高质量代码有感
- MFC:多文档视图中的子窗口枚举代码片段