全排列打印(二)
2012-11-09 00:00
99 查看
给出数字1,2,3。打印出序列:1, 2, 3, 12, 23, 13, 123。
#include <iostream> using namespace std; bool status[3] = {false, false, false}; void print(int a[], int pos, int n) { if (pos == n) { for (int i = 0; i < n; i++) { if (status[i]) { cout << a[i]; } } cout << endl; } else { status[pos] = true; print(a, pos+1, n); status[pos] = false; print(a, pos+1, n); } } void printAll(int a[], int n) { print(a, 0, n); } int main() { int a[] = {1, 2, 3}; printAll(a, 3); return 0; }
相关文章推荐
- 打印全排列和stl::next_permutation
- 打印字符串的全排列
- 全排列打印C++
- 打印1~N的全排列(C++)
- 打印全排列和stl::next_permutation
- 全排列打印(一)
- 回溯法打印全排列[转]
- 打印n个数的全排列(递归版)
- python算法分析 笔记 ——打印全排列
- 打印 全排列 字符串或整型 Java实现
- 对n个数进行全排列并打印全排列结果
- 打印全排列
- 数据结构_递归算法的应用_打印n个数的全排列数
- 全排列,排大小,打印素数,乘法表
- 打印1到最大的n位数:大数问题,全排列实现
- 打印N个数的全排列
- 打印一个数组的全排列
- C程序:打印1,2,3,..,n的全排列
- 打印字符串的全排列
- 全排列 利用template的时候,用cout打印不需要考虑变量的类型,这点比printf好用