#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;
}
C++数组的排列组合
最新推荐文章于 2024-02-15 15:02:09 发布