C++数组的排列组合

来源:互联网 发布:用什么看网络电视免费 编辑:程序博客网 时间:2024/06/05 06:52
#include <iostream>using namespace std;void move(int a, int b){cout << "move" << a << "to" << b << endl;}void hanoi(int n,int a,int b,int c){if (n > 0){hanoi(n - 1, a, c, b);move(a, b);hanoi(n - 1, c, b, a);}}int main(){hanoi(3,1,2,3);return 0;}#include <iostream>using namespace std;void perm(int a[],int n,int k){if (k == n){for (int i = 0; i < k; i++){cout << a[i] << " ";}cout << endl;return;}else{for (int i = k; i < n; i++){std::swap(a[i],a[k]);perm(a,n,k+1);std::swap(a[i], a[k]);}}}int main(){int a[] = {1,2,3};perm(a, sizeof(a) / sizeof(int),0);return 0;}

0 0