标签:
主要学习下递归的思路,没有考虑重复数的问题
#include<iostream> using namespace std; int A[5] = {1,2,3,4,5}; int B[5]; void permutation(int n,int curr) { if (curr == n) { for (int i = 0; i < n; i++) cout << B[i] << " "; cout << endl; return; } else { for (int j = 0; j < n; j++) { bool flag = true; //设置B[curr]为A[j] B[curr] = A[j]; //B[curr]不在集合中时,继续下一次递归 for (int i = 0; i < curr; i++) { if (B[curr] == B[i]) { flag = false; break; } } if (flag) { permutation(n, curr + 1); } } } } int main() { permutation(5,0); return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u014338577/article/details/47977983