比较简单的全排列算法,做个记录
void Swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
void Perm(vector<int>& list, int k, int m)
{
if(k==m)
{
for(int i=0; i<=m; i++)
cout << list[i];
cout << endl;
}
else
for(int j=k; j<=m; j++)
{
Swap(list[k],list[j]);
Perm(list, k+1, m);
Swap(list[k],list[j]);
}
}

浙公网安备 33010602011771号