#include <iostream>
using namespace std;
void test(int x[])
{
cout << x[0] << " " << x[1] << " " << x[2] << " " << x[3] << endl;
}
void f(int x[], int k)
{
int i,t;
if(k>=4)
{
test(x);
return;
}
for(i=k; i<4; i++)
{
{t=x[k]; x[k]=x[i]; x[i]=t;}
f(x,k+1);
{t=x[k]; x[k]=x[i]; x[i]=t;} //回溯,还原
}
}
int main()
{
int x[] = {1,2,3,4}; //四位数的全排列
f(x,0);
return 0;
}
排列算法(回溯法)
最新推荐文章于 2021-11-04 19:01:52 发布